我想要一个刷新桌面的功能,就像按“F5”一样。我发现了许多带有 Sendmessage 和 ToggleDesktopIcons 开/关的代码,但没有一个像手动点击“F5”那样对我有用。我在这里也看到了一些主题,但所有主题都针对此问题提供了无效的解决方案。我在带有 IE 10 的 Windows 7 64 位上并使用 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”来刷新桌面的图标/设置。我在类似问题中尝试的几个代码没有给我带来任何结果。