Win32 API関数を用いてファイル・フォルダのプロパティを表示する方法について。
SHObjectProperties
SHObjectPropertiesを使用すると、さまざまなオブジェクトのプロパティダイアログを表示できる。 任意のファイル・フォルダのプロパティを表示したい場合は、第2引数shopObjectTypeにSHOP_FILEPATHを指定する。 以下の例では引数hwndにIntPtr.Zeroを指定しているが、親ウィンドウが存在する場合はそのウィンドウのハンドルを指定する。
なお、引数shopObjectTypeとpszObjectNameに指定する値を変えることでファイル・フォルダ以外のプロパティも表示でき、例えばプリンタのプロパティなども表示することができる。
ShellExecuteEx
ShellExecuteExはファイルのオープン・実行だけでなく、verbを指定することでファイルに様々な動作を行うことが出来る。 SHELLEXECUTEINFO.lpVerb に"properties"を代入することによって、ファイルを実行するのではなく、プロパティを表示することができる。
関数が失敗すると、falseが返されると同時に、SHELLEXECUTEINFO.hInstAppに32以下のエラー値が代入される。 エラー値とその具体的な意味はコード中のSE_ERR〜の定数にある通り。 この例ではSHELLEXECUTEINFO.hWndにIntPtr.Zeroを指定しているが、親ウィンドウが存在する場合はそのウィンドウのハンドルを指定する。