5

このページの下部で説明されているコードと同様のIShellLinkインターフェイスを使用して、デスクトップにショートカット(.lnk)ファイルを作成しました。

したがって、このショートカットを削除するには、.lnkファイルでDeleteFileを呼び出すだけでよいと想定していましたが、明らかにそれだけでは不十分です...そうすると、次のようなショートカットファイルの残りが表示されます。

ここに画像の説明を入力してください

しかし、興味深いのは、たとえばWindowsエクスプローラーでデスクトップフォルダー内のファイルを参照すると、.lnkファイルが実際にはそこにないことです。私が見ているのは、デスクトップGUIの表面にあるアーティファクトです。

ショートカットを削除する方法(Microsoftが望んでいる方法は?)

4

1 に答える 1

3

OK、上記の提案に従って、シェルを更新するために後で呼び出す必要があるAPIは次のとおりです。

SHChangeNotify(SHCNE_DELETE, SHCNF_PATH | SHCNF_FLUSHNOWAIT, pDeletedFilePath, NULL);
于 2013-01-22T20:17:30.957 に答える