2010-01-01(Fri)
IT.NET
C#, VB.NET, C++/CLI のサンプルコードを中心ですが、IT 全般の記事を書いています。
スポンサードリンク
コメントの投稿
コメント
No title
この方法で、explorer.exeを終了させるにはどうしたらいいですか。
Re: No title
試してみました。explorer.exe に対して kill メソッドを実行すると終了はしますが、すぐに再起動しますね。タスクマネージャーから explorer.exe のプロセスに対して、[プロセスの終了] をすると、こちらは終了したままです。なぜ、プログラムから実行すると、再起動してしまうのでしょう?今のところ私にも不明です。ちなみに、CloseMainWindow メソッドを実行すると、Windows の終了ダイアログを出現させることができますが、これでは解決にはなりませんよね?
Re: No title
海外のサイトからの転載です。
Public Class Form1
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As IntPtr, ByVal uExitCode As UInteger) As Integer
Private Sub ExitExplorer()
For Each ObjPro As Process In Process.GetProcessesByName("EXPLORER")
TerminateProcess(ObjPro.Handle, 1)
Do Until ObjPro.HasExited = True
Application.DoEvents()
Loop
Next
End Sub
End Class
ExitExplorerを呼び出すと終了します。
Public Class Form1
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As IntPtr, ByVal uExitCode As UInteger) As Integer
Private Sub ExitExplorer()
For Each ObjPro As Process In Process.GetProcessesByName("EXPLORER")
TerminateProcess(ObjPro.Handle, 1)
Do Until ObjPro.HasExited = True
Application.DoEvents()
Loop
Next
End Sub
End Class
ExitExplorerを呼び出すと終了します。
Re: Re: No title
ありがとうございます。大変助かりました。早速 C#, VB.NET 版の記事を書きました。
C#: http://itnandemolab.blog70.fc2.com/blog-entry-3196.html
VB: http://itnandemolab.blog70.fc2.com/blog-entry-3195.html
C#: http://itnandemolab.blog70.fc2.com/blog-entry-3196.html
VB: http://itnandemolab.blog70.fc2.com/blog-entry-3195.html