特別なフォルダからクリップボードにファイルをコピーし、特別なフォルダが指す場所を変更して、ファイルをこの新しい場所に貼り付けようとすると、WindowsはItem Not Found error、ファイル名だけでファイルをコピーしようとしているように見えます。
特別なフォルダの場所を変更する方法は、C++コードの次の行を使用することです。
SHSetKnownFolderPath(FOLDERID_Desktop, 0, NULL, new_location);
そして、すぐに効果を確認するために更新します。
SHChangeNotify(0x8000000, 0x1000, NULL, NULL);
再現する手順
デスクトップポインティング
C:\Users\BoppreH\Desktopmusic 1.mp3デスクトップからファイルをコピーします(C:\Users\BoppreH\Desktop\music 1.mp3)デスクトップの特別なフォルダの場所をに変更します
D:\musicデスクトップにからの音楽が表示されるようになりました
D:\musicmusic 1.mp3デスクトップに貼り付けてみてください
で失敗し、ファイルがまだ幸せに座っているときに、でファイルがItem Not Found見つからなかったと文句を言います。デスクトップ以外のフォルダにファイルを貼り付けると、正常に動作します。D:\music\music 1.mp3C:\Users\BoppreH\Desktop\music 1.mp3
これはDoctorの場合であり、これを行うと痛くなります。デスクトップの場所を絶えず変更することは非常に珍しい動作ですが、これは私が大好きになった機能であり、このバグは常に私を悩ませます。
この問題の回避策はありますか?