すいませんがお願いします。
CommonDialogを開いたとき「デスクトップ」(マイコンピューターやネットワークコンピューターがある場所」を開いた状態にするには?
InitDir = ????
何を入れたらよいのでしょうか?
過去ログに「マイコンピューター」はあったのですが…。
お願いします。
>過去ログに「マイコンピューター」はあったのですが…。
…あれは少し特別な方法でして…
マイコンピュータはフォルダが存在しませんので Path が
CLSID パスというものを使ってみました。
デスクトップはフォルダが存在しますので Path を求める方法も
結構たくさんあります。
一般に『特殊フォルダ』と呼ばれてますので調べてみて下さい。
VB だと FileSystemObject に GetSpecialFolder メソッドとか
あるんですがデスクトップだと API を使った方が良さそうです。
SHGetSpecialFolderPath を使ってみてください。
花ちゃんのサイト
http://www.bcap.co.jp/hanafusa/
の、逆引きヘルプ一覧表にサンプルもあります。
あと、余談ですが、
デスクトップにマイコンピュータやネットワークコンピュータがある
とは限りません。ってゆーか実体は別だと思われます…。
特攻隊長まるるうさん 早速ありがとうございます。(さすが特攻隊長ですね!)
花ちゃんサイトを参考に見ました。"SHGetSpecialFolderPath" で"CSIDL_DESKTOP"にしてやってみます。
API関数の方、あまり詳しくないので、調べたりしながらやってみます。
最終的にはネットワークコンピュータ(他の各PC)の任意フォルダのパスを管理したいということで、新しくPCを入れたら、そこに任意のフォルダをつくり、そこのパスが知りたいということです。
そこで、"CommonDialog"でやればいいかな?と思ったんですが…。
パスの値って、取れるのですか??(基本的なことでした…。)
デスクトップの設定はドメインごとのユーザごとに
ユーザプロファイルの一部として保存されます。
つまり1つのPCにデスクトップは
[ユーザ] * [過去にログインしたドメイン]
の数だけ存在する可能性があります。更に共通で
使用する All Users や Default User が存在します。
各PCの何を管理するかが分からないと助言は難しいですが、
他のPCからだとユーザがどう限定されるか…やったこと
無いので分かりません。
…というか自分のPCでプログラムを動かしちゃうと自分の
デスクトップのパスが取れるだけでしょうから…まぁ、
色々と工夫が必要そうです。
知識として知っておいてくださいね(^^)。
助言ありがとうございます。
最初に教えていただいた、「CLSID」のやり方は、実際試してみました。
いろいろな、ディレクトリ(設定)ができて、ほぉー!という感じで、なかなか良かったです。
最後の助言で、ユーザーごとにいろいろ問題があるのは知っていました。
これから、少しずつ、試したり参照したりで、勉強してやってみます。
また聞くことがあるかもしれませんがよろしくお願いします。
ありがとうございました!