C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 81 を表示中)
■48265 / )  Re[1]: スタートメニュー(All Users)のパス取得
□投稿者/ 魔界の仮面弁士 (1587回)-(2010/03/31(Wed) 13:48:38)
No48264 (Maru さん) に返信
> 以下のソースを作成しました。
これって、VB4~6 向けの宣言ではありませんか? (VB6 だとしても、宣言が間違っていますが)


> "Shell32" Alias "SHGetSpecialFolderPathA" ( _
できる限り、Unicode 版の API を使いましょう。
今となっては、A 系の関数が必要になるケースは非常に稀だと思います。


> ByVal hWnd As Long, _
As IntPtr と宣言してください。

> ByVal lpPath As String, _
文字列を受け取る際には、StringBuilder を使った方が良いでしょう。

> ByVal nFolder As Long, _
Long は使えません。Integer か UInteger にしてください。

> ByVal fCreate As Boolean
> ) As Boolean
間違いではありませんが、それぞれに MarshalAs(UnmanagedType.Bool) 属性を
明示的に指定しておくことをお奨めします。
http://msdn.microsoft.com/ja-jp/library/t2t3725f.aspx

> Private Const CSIDL_COMMON_PROGRAMS = 23
As 句で型を指定してください。VB2005 の場合には特に。
返信 編集キー/


管理者用

- Child Tree -