3

Path.GetTempFileName私のプログラムは、表示のためにデフォルトの PDF ハンドラー (通常は Adob​​e Reader) に渡される一時 PDF ファイルを ( を使用して) 書き込みます。Main メソッドに一時ファイルを削除するfinallyブロックがありますが、プログラムを閉じたときに Adob​​e Reader がまだ開いていると、ファイルは開いたままになり、削除できません。

解決策の 1 つは、それらをそこに残しておき、ユーザーがいつか一時フォルダーを空にすることを想定することです。ファイルはそれぞれわずか 1.5 MB です。しかし、より良い方法はありますか?

インストーラーや Windows Update と同じように、次回の再起動時に削除されるファイルを登録する方法について読んだことがあると思いましたが、現在それに関する情報は見つかりません。ここで使用できるような機能はありますか?

4

2 に答える 2

2

KB 記事「現在使用中のファイルを移動する方法」を参照してください。そこで概説されているように、NT (2000、XP、Vista、および Windows 7 を含む) とレガシー OS バージョンでは、アプリがまだ実行されている場合は別の方法を使用する必要があります。

Pinvoke.netには、関連する Win32 API 呼び出しと定数の定義が管理されています。

于 2010-07-01T22:14:27.333 に答える
0

開いたファイルを登録または保存して、次にアプリを起動したときに一時PDFファイルを削除してみてください。ですから、次回はアプリに整理整頓を任せましょう。ユーザーはそれまでにそれを閉じているはずです。

于 2010-07-01T22:08:28.387 に答える