私ShellExecute
は何かをするために使用し、最初のパラメーターは です。MSDNHWND
のドキュメントには次のように書かれています。
UI またはエラー メッセージの表示に使用される親ウィンドウへのハンドル。操作がウィンドウに関連付けられていない場合、この値は NULL になる可能性があります。
しかし、どちらHWND
の値でも同じ結果が得られます。
例えば :
ShellExecute(0, 'open', 'c:\', nil, nil, SW_SHOWNORMAL);
ShellExecute(Self.Handle, 'open', 'c:\', nil, nil, SW_SHOWNORMAL);
ShellExecute(123456, 'open', 'c:\', nil, nil, SW_SHOWNORMAL);
同じものを取得するだけです(ディスクCを開きます)ので、別のものを使用して何を使用するのHWND
でしょうか?
ところで、「HWND=0」の時はDeskTopのHandleを使うのですか?