C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■83317 / 親階層)  VB.NET プログラムからのプロセス終了とファイル削除
□投稿者/ おん (1回)-(2017/03/17(Fri) 09:34:42)

分類:[VB.NET/VB2005 以降] 

プログラム終了時に特定のExcelファイルを削除する処理を組んだのですが、
削除対象のファイルを開いているとエラーになるため、
最初に対象ファイルのプロセスを終了する処理を入れました。

しかし、Excelは1つのプロセスで複数のファイルを持っていて、
最全面に表示されているファイルしか個別のプロセス終了ができないようで、
対象ファイルのプロセスを終了できず、削除時にエラーになってしまう場合があります。

p.Kill()では関係のないファイルまでプロセス終了してしまうので、
対象のファイルがMainWindowでない場合にも、
ピンポイントで対象ファイルのみをプロセス終了することはできますでしょうか?

ご教授の程、よろしくお願いします。



以下が今回組んだプログラムです。

Dim fileName as String = "C:\hoge.xls"
Dim fInfo As System.IO.FileInfo = New System.IO.FileInfo(fileName)

For Each p As System.Diagnostics.Process In System.Diagnostics.Process.GetProcesses()
If p.MainWindowTitle.Contains(System.IO.Path.GetFileName(fileName)) = True Then
p.CloseMainWindow()
End If
Next

fInfo.Delete()
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: VB.NET プログラムからのプロセス終了とファイル削除 /魔界の仮面弁士
 
上記関連ツリー

VB.NET プログラムからのプロセス終了とファイル削除 / おん (17/03/17(Fri) 09:34) #83317 ←Now
Re[1]: VB.NET プログラムからのプロセス終了とファイル削除 / 魔界の仮面弁士 (17/03/17(Fri) 10:39) #83319
  └ Re[2]: VB.NET プログラムからのプロセス終了とファイル削除 / おん (17/03/21(Tue) 09:08) #83398 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信