▼ Mr.XRAYさん
> すると,やはりAPIにあるのかな?
> MSDNを結構さがしたんですけど.
よく分かりませんが、マスターに
エクスプローラー周りをがっちりやってもらうため、
今からリクエストしておこ〜っと(他力本願(^_^;))
下記は以前小生のブラウザに付けていた機能で
ユーザーが自由に邪魔なペインを消せるようにしていたのですが
Win7では、@EnumWinProcUpdateが未定義となりコンパイルできないため
いまは取り外してあります。
(どうしてなのかの判断能力無し)
7になれば無用なので、しかしまだXPも多そうだし。迷っているところです。
//フォルダペインを変更した後レジストリを更新する
function EnumWinProcUpdate(aHandle: HWND; param: Pointer): BOOL; stdcall;
var
wName :array [0..79] of Char;
begin
Result := True;
GetClassName(aHandle, wName, 80);
if (StrLIComp(wName, 'ExploreWClass', 80) = 0) or
(StrLIComp(wName, 'CabinetWClass', 80) = 0) then begin
SendMessage(aHandle, WM_COMMAND, 28931, 0);
end;
end;
//ファイルとフォルダのタスクを消す
procedure TformMDI.NotDispTaskPainClick(Sender: TObject);
const
News='\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced';
var
Reg:TRegistry;
begin
if MessageDlg('サムネイル画面の「フォルダのタスク」窓を非表示にしますか?'
+#13#10+#13#13+'これは、エクスプローラでも表示しません。XP以外はヘルプ参照',
mtConfirmation, [mbYes, mbNo], 0)=mrNo then exit;
Reg:=TRegistry.Create;
with Reg do
begin
try
RootKey:=HKEY_CURRENT_USER;
if OpenKey(News , False) then begin
WriteInteger('WebView' , 0);
reg.CloseKey;
end;
//更新
EnumChildWindows(0, @EnumWinProcUpdate, 0);
finally
Free;
end;
end;
end;
//ファイルとフォルダのタスクを表示する
procedure TformMDI.DispTaskPainClick(Sender: TObject);
const
News='\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced';
var
Reg:TRegistry;
begin
if MessageDlg('サムネイル画面で「フォルダのタスク」窓を表示しますか?'
+#13#10+#13#13+'これは、エクスプローラでも表示します。XP以外はヘルプ参照',
mtConfirmation, [mbYes, mbNo], 0)=mrNo then exit;
Reg:=TRegistry.Create;
with Reg do
begin
try
RootKey:=HKEY_CURRENT_USER;
if OpenKey(News , False) then begin
WriteInteger('WebView' , 1);
reg.CloseKey;
end;
//更新
EnumChildWindows(0, @EnumWinProcUpdate, 0);
finally
Free;
end;
end;
end;
|