シェルのデスクトップやマイコンピュータをプログラムから開きたい。
|
デスクトップは、
HKEY_CURRENT_USER\SoftwareMicrosoft\Windows\CurrentVersion\
Explorer\Shell Folders の Desktopを参照すればOKです。
たいていの場合 'C:\Windows\デスクトップ'(実際は半角です)
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'Open', 'EXPLORER.EXE', 'C:\Windows\デスクトップ', '', SW_SHOW);
// 'デスクトップ'は半角です。
end;
また、主要なシステムフォルダーは
HKEY_CURRENT_USER\SoftWare\Classes\CLSIDの値を使えばOKです
たとえば、マイコンピュータは。
procedure TForm1.Button4Click(Sender: TObject);
begin
ShellExecute(Handle,'Open','EXPLORER.EXE','::{20D04FE0-3AEA-1069-A2D8-08002B30309D}','',SW_SHOW);
end;
という具合です。CLSIDについては、詳しくはCOMの知識が必要になります。
・ネットワークコンピュータ
・マイドキュメント
・ゴミ箱
などのCLSIDの値は、[Tips:196]にあります。
コントロールパネルは。アプリケーションですので。
procedure TForm1.Button2Click(Sender: TObject);
begin
ShellExecute(Handle,'Open','Control.exe','','',SW_SHOW);
end;
// たとえばコントロールパネルの中の'アプリケーションの追加と削除'なら
procedure TForm1.Button3Click(Sender: TObject);
begin
ShellExecute(Handle,'Open','Control.exe','Appwiz.cpl','',SW_SHOW);
end; |
|