私の VB.net アプリケーションでは、System.Diagnostics.Process.Start("c:\TEMP\MyFile.pdf") を使用して PDF ファイルを開いています。
何らかのイベントでこのファイルをプログラムで閉じることは可能ですか?
私の VB.net アプリケーションでは、System.Diagnostics.Process.Start("c:\TEMP\MyFile.pdf") を使用して PDF ファイルを開いています。
何らかのイベントでこのファイルをプログラムで閉じることは可能ですか?
はい、非常に洗練されたソリューションではありませんが、1 つの方法があります。
PDF プロセスを開始すると、グローバル変数でプロセス ID を取得します。
Dim id As Integer 'Global variable
id = System.Diagnostics.Process.Start("C:\Temp\myfile.pdf").Id
次に、プロセスを強制終了する必要がある場合は、次のようにします。
System.Diagnostics.Process.GetProcessById(id).Kill()
(実際に実行されているこの ID を持つプロセスがあることを確認してください!)
プロパティを使用してProcess.HasExited
、PDF が閉じられているかどうかを確認し、それに基づいてコードを処理することもできます。
これはC#ですが、便利かもしれません...
var myPDFEvent = System.Diagnostics.Process.Start(@"C:\Temp\myfile.pdf");
myPDFEvent.Exited += new EventHandler(myPDFEvent_Exited);
myPDFEvent.EnableRaisingEvents = true;
void myPDFEvent_Exited(object sender, EventArgs e)
{
System.IO.File.Delete(@"C:\Temp\myfile.pdf);
}
これはうまくいくかもしれません:
Process1.Start()
Process1.WaitForExit()
If Process1.HasExited Then
System.IO.File.Delete(Your File Path)
End If
ツールボックスからプロセス オブジェクトをフォームに追加し、startinfo セクションを構成してください。
許可に問題がある場合。フォルダーを使用しAppData
ます。プログラムの実行に必要なアクセス許可を持っています