掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォルダオプションの変更を反映 (ID:28376)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> エレガントとはほど遠い解決策ですが... 最終的には、これでも・・・と考えていましたが、もう少しねばってみました。 WinSight32で、メッセージをつかまえて、くさいメッセージを捕まえイカで実行 exprHnd := FindWindow('ExploreWClass', nil); if exprHnd <> 0 then PostMessage(exprHnd, WM_COMMAND, $A220, 0); 「WM_COMMAND」+「A220」でGoogle検索にひっかかったページにも同じコトが記載 http://www.geocities.jp/eco21426/Tips/Miscellaneous.htm 【結果】 IDEからの実行→反応しない??? エクスプローラから実行→反応しない??? 再度実行し、設定を更新せずメッセージだけ飛ばすと反応あり 何度か繰り返すと、まったく反応なし・・・ 【結論】 わからん 窓の手+Win高速化PC++窓使いの友 あたりで、Windows設定をいろいろ変更しているから、 そこに原因があるのかもしれない? 【確認用のコード】 TButtonとTCheckBoxを一個置いて、Button1,CheckBox1とする CheckBox1のOn/Offで、拡張子の表示有無、隠しファイル等の表示有無が 切り替わる(はず)のコード procedure TForm1.Button1Click(Sender: TObject); const //表示しない 表示する RP_HIDDEN :array[Boolean] of Integer = ($00000002, $00000001); RP_HIDEEXT :array[Boolean] of Integer = ($00000001, $00000000); var reg :TRegistry; exprWnd :HWND; begin reg := TRegistry.Create(KEY_WRITE); try reg.RootKey := HKEY_CURRENT_USER; {開く} if reg.OpenKey(EXP_ADV_KEY, False) then begin reg.WriteInteger('hidden', RP_HIDDEN[CheckBox1.Checked]); reg.WriteInteger('HideFileExt', RP_HIDEEXT[CheckBox1.Checked]); reg.CloseKey; exprWnd := FindWindow('ExploreWClass', nil); if exprWnd <> 0 then begin PostMessage(exprWnd, WM_WININICHANGE, 0, 0); PostMessage(exprWnd, WM_COMMAND, $A220, 0); end; end; finally reg.Free; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.