ええ、私はこれがちょっとした疑問のように思えます。それはちょっとしたハックで、ちょっとした仕事を包み込む必要があるので、もっと面白いものに進むことができます。C#からWindowsデスクトップをプログラムで(つまりF5)リフレッシュするにはどうすればよいですか?
編集: 多分もっと多くの情報が役立つでしょう:私はデスクトップからいくつかのショートカットを削除しようとしていて、すぐに削除されるのを見るためにユーザーが必要です(F5を押す必要はありません)。
ええ、私はこれがちょっとした疑問のように思えます。それはちょっとしたハックで、ちょっとした仕事を包み込む必要があるので、もっと面白いものに進むことができます。C#からWindowsデスクトップをプログラムで(つまりF5)リフレッシュするにはどうすればよいですか?
編集: 多分もっと多くの情報が役立つでしょう:私はデスクトップからいくつかのショートカットを削除しようとしていて、すぐに削除されるのを見るためにユーザーが必要です(F5を押す必要はありません)。
SHChangeNotify APIを使用できます。その後、
[System.Runtime.InteropServices.DllImport("Shell32.dll")]
private static extern int SHChangeNotify(int eventId, int flags, IntPtr item1, IntPtr item2);
このよう
SHChangeNotify(0x8000000, 0x1000, IntPtr.Zero, IntPtr.Zero);
私はあなたがIActiveDesktop::ApplyChangesを探していると思います。 COMインターフェイスを介してアクセスする必要があります。これは、MicrosoftがCOM Interopで提供するすべてのdocumentationでかなり簡単に行う必要があります。
ヒントのおかげで、これはおそらくうまくいくように見えますが、TomのWin32アプローチはちょっと使いやすくなっています。 – DSO
PSそれを呼び出します。グーグルでは、expertsexchangeの誰かが同じ質問をしていることが明らかになっていますが、私は自分のウェブサイトにサインアップしたくありません。 – DSO
@DSO:ページの下部までスクロールすることで、エキスパート交換の回答に行くことができると思います(エキスパート交換でダッシュを使用する必要があります。そうでなければ「expert-something-else」のように見えます)。 ) –