APIを使って、フォルダの参照とネットワークの参照を行いたいのですが
初心者なもので、宣言の括弧の編集が分かりません。
下記の宣言文を統一するには、どうしたらいいのでしょうか?
Anyの意味も分からない次第です。どうか、助けて下さい。
お願いします。
'フォルダ参照
Declare Function SHBrowseForFolder Lib "shell32.dll" _
(lpbi As Any) As Long
Declare Function SHGetPathFromIDList Lib "shell32.dll" _
(lpbi As Any, ByVal pszPath As String) As Long
'ネットワーク参照
Declare Function SHBrowseForFolder Lib "shell32.dll" _
(lpbi As BrowseInfo) As Long
Declare Function SHGetPathFromIDList Lib "shell32.dll" _
(ByVal pidList As Long, ByVal lpBuffer As String) As Long
>Anyの意味も分からない次第です。
ヘルプに説明が載ってますが、どの部分がわからないのでしょう?
>下記の宣言文を統一するには、どうしたらいいのでしょうか?
どうやってこれらの宣言文を作ったか知りませんが、
統一するも何も同じ宣言です。
どう宣言するかは、引数の用意のしかた次第です。
つまり型チェックされて都合が悪いかどうかによります。
原理的には、引数をきちんと用意しておきさえすれば、
API呼び出しの引数をすべてAnyで宣言することが可能です。
ただ、意味不明の不具合の原因になりますから、
可能な限りAny宣言は避けたいところですが・・・。
ほんとですね、一緒だ。^o^;
要は、どちかの宣言に統一して、pIDLRootの引数が
フォルダ参照の場合は、「CSIDL_DESKTOP」で
ネットワーク参照の場合は、「CSIDL_NETWORK」で出来ました。
でも、きっとSayさんのお言葉がなければ、気づいていなかったので
助言、ありがとうございました。これからも宜しくお願い致します。