如何让进程显示窗体 无窗体句柄

xdq025 2011-02-16 01:41:53
进程ID已获取(以IE8.0为例)
启动进程前 已设置Process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
通过调试 该进程未创建窗体(Process.MainWindowHandle=0)
那么如何让进程显示出窗体呢?
是否可以引用Message并修改 来达到显示窗体的目的
ShowWindow(handle,cmdshow)无效 因为没有窗体句柄
...全文
463 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdq025 2011-03-27
  • 打赏
  • 举报
回复
没人知道么?
doubleu2005 2011-02-25
  • 打赏
  • 举报
回复
这个有趣
xdq025 2011-02-25
  • 打赏
  • 举报
回复
真没人知道么?
xdq025 2011-02-24
  • 打赏
  • 举报
回复
没人知道么?
xdq025 2011-02-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xingyuebuyu 的回复:]
http://msdn.microsoft.com/zh-cn/library/system.diagnostics.processwindowstyle.aspx

http://stackoverflow.com/questions/2647820/toggle-process-startinfo-windowstyle-processwindowstyle-hidden-at-runti……
[/Quote]

[DllImport("user32.dll")] static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); ProcessWindowStyle state = ProcessWindowStyle.Normal; void toggle() { if (cvarDataServiceProcess.HasExited) { MessageBox.Show("terminated"); } else { if (cvarDataServiceProcess.MainWindowHandle != IntPtr.Zero) { if (state == ProcessWindowStyle.Hidden) { //normal state = ProcessWindowStyle.Normal; ShowWindow(cvarDataServiceProcess.MainWindowHandle, 1); } else if (state == ProcessWindowStyle.Normal) { //hidden state = ProcessWindowStyle.Hidden; ShowWindow(cvarDataServiceProcess.MainWindowHandle, 0); } } } }

这招 我自己早就会使了~!
我的问题是 :在没有创建窗体句柄时如何让某程序调用自己的方法 创建窗体
xdq025 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 billsquall 的回复:]
不理解,你想用其他句柄代替?

必须有句柄

帮顶
[/Quote]
就是让一个本来有显示窗体的进程
然后又关闭其窗体
如何再显示出来
billsquall 2011-02-16
  • 打赏
  • 举报
回复
不理解,你想用其他句柄代替?

必须有句柄

帮顶

110,578

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧