所以我正在学习本教程:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh127427(v=vs.85).aspx
当我偶然发现“调用 SHChangeNotify 函数”这句话时。我该怎么做呢? powershell 无法识别它。我是否必须在 C++ 中导入一些库并从 C++ 程序中调用它?我使用的是 Windows 10。
我使用以下 C# 代码从 powershell 调用桌面刷新:
$code = @'
[System.Runtime.InteropServices.DllImport("Shell32.dll")]
private static extern int SHChangeNotify(int eventId, int flags, IntPtr item1, IntPtr item2);
public static void Refresh() {
SHChangeNotify(0x8000000, 0x1000, IntPtr.Zero, IntPtr.Zero);
}
'@
Add-Type -MemberDefinition $code -Namespace WinAPI -Name Explorer
[WinAPI.Explorer]::Refresh()
希望这可以帮助任何仍在寻找答案的人,因为 SimonS 提供的链接似乎不再起作用。
附注这就是我从 IDERA - 刷新图标缓存
得到的想法