Для тех, кто все еще ищет ответ, я отправлю свой ответ на этот вопрос и здесь, так как ссылки на PowerShel.com, похоже, больше не работают:
Я использовал следующее для вызова обновления на рабочем столе из powershell с помощью кода C #:
$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()
Надеюсь, это поможет любому, кто все еще ищет ответ.
p.s. вот откуда я пришла идея от IDERA - Обновление кэша иконок