none
如何根据进程的ID打开相应的窗体? RRS feed

  • 问题

  • 最小化到托盘中的第三方程序,往往找不到窗体的句柄,只能找到其进程的ID,这个时候用什么方法可以打开(还原到桌面上)进程对应的主窗体呢?谢谢指点!
    • 已编辑 JSHZP 2011年8月31日 11:43 修改
    2011年8月31日 9:14

答案

  • 首先确定进程的主窗体就是您要打开的窗体。然后用 System.Diagnostics.Process 的 FindByProcessId 找到该 Process,然后用 MainWindowHandle 得到主窗体句柄,最后用 ShowWindow(IntPtr, int) 方法显示窗体就可以了。

    ShowWindow 是 Win32 API,如果不想这样用直接用 Control.FromHandle(...).Show() 也许也可以。


    Mark Zhou
    • 已标记为答案 JSHZP 2011年9月1日 10:21
    2011年9月1日 9:09