从 PowerShell 调用 Windows Shell 函数?

问题描述 投票:0回答:1

所以我正在学习本教程:

https://msdn.microsoft.com/en-us/library/windows/desktop/hh127427(v=vs.85).aspx

当我偶然发现“调用 SHChangeNotify 函数”这句话时。我该怎么做呢? powershell 无法识别它。我是否必须在 C++ 中导入一些库并从 C++ 程序中调用它?我使用的是 Windows 10。

windows-10 shell powershell registry
1个回答
6
投票

我使用以下 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 - 刷新图标缓存

得到的想法
© www.soinside.com 2019 - 2024. All rights reserved.