1

Windows エクスプローラーに表示されるドライブの空き容量を更新する方法

Windows エクスプローラーが開かれ、一部のファイルがプログラムによって削除されたとします。Windows エクスプローラーは、使用可能な新しい空き領域を表示するために更新されません。

だから、私はSHChangeNotifyこのように使用しようとしました(Delphiコード):

ws := 'C:\';
SHChangeNotify (SHCNE_FREESPACE, SHCNF_PATH, PWideChar(ws), nil); 

ただし、「Windows Explorer」で報告された値は更新されません。

助けてください。

4

1 に答える 1

5

Delphi 7 を使用している場合はSHCNF_PATH、ANSI バージョンのSHCNF_PATHA. その場合、合格PWideCharは間違っています。次のように書きます。

var
  Drive: string;
....
Drive := 'C:\';
SHChangeNotify(SHCNE_FREESPACE, SHCNF_PATH, PChar(Drive), nil);

または、Unicode バージョンを使用する場合は、SHCNF_PATHW.

var
  Drive: WideString;
....
Drive := 'C:\';
SHChangeNotify(SHCNE_FREESPACE, SHCNF_PATHW, PWideChar(Drive), nil);
于 2012-12-18T11:31:58.673 に答える