「F5」を押すようにデスクトップをリフレッシュする機能が欲しいです。Sendmessage と ToggleDesktopIcons をオン/オフするコードがたくさん見つかりましたが、「F5」を手動で押すように機能するコードはありませんでした。ここでいくつかのトピックも見ましたが、すべてこの問題の解決策が機能していません。私は Windows 7 64 ビットと IE 10 を使用しており、C# Net Framework 2 を使用しています。
私はこのコードも見つけましたが、C# はそれを受け入れません。たとえそれが正しい関数のように思えても。ここで何を変更する必要があるかわかりません。IDE が、ここでの間違いや修正が必要なものを教えてくれることを期待しています。誰かがこの関数を修正するか、C# と互換性のある別の関数を提案してください。
procedure RefreshDesktop2;
var
hDesktop: HWND;
begin
hDesktop := FindWindowEx(FindWindowEx(FindWindow('Progman', 'Program Manager'), 0,
'SHELLDLL_DefView', ''), 0, 'SysListView32', '');
PostMessage(hDesktop, WM_KEYDOWN, VK_F5, 0);
PostMessage(hDesktop, WM_KEYUP, VK_F5, 1 shl 31);
end;
質問: 上記のコードを C# で動作させるにはどうすればよいですか (C# に変換します)、または C# で同様のコードをどのように表示しますか? 選択したデスクトップ アイコンで「F5」を押すなどして、アイコンや設定でデスクトップを更新することが私の目標です。同様の質問で試したいくつかのコードは、結果をもたらしませんでした。