首页 新闻 会员 周边 捐助

C#程序怎么操作某个进程的窗体显示隐藏

0
悬赏园豆:50 [已解决问题] 解决于 2010-10-15 14:10

C#程序怎么操作某个进程的窗体显示隐藏,请大虾们帮忙!!!最好有源码 3Q!!!

问题补充: 就是说 在windows系统里面,我启动一个exe程序。然后C# 来操作这个exe程序窗体界面的显示和隐藏。 不能嵌套这个exe,这个程序不是C# 的是C++的。 我的想法是能不能根据系统的进程来操作窗体界面的显示和隐藏,如果有其他 好的方法比如 “dos命令”也可以。只要能实现就行 (最好有源码,大虾们在这里先谢谢了)
(_敢◇o.絕的主页 (_敢◇o.絕 | 初学一级 | 园豆:150
提问于:2010-10-15 11:07
< >
分享
最佳答案
0

Intptr intptr=Process. GetProcessesByName("name").Handle;

 

ShowWindow(intptr,0);

ShowWindow(intptr,1);

 


[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);

收获园豆:20
一滴血 | 小虾三级 |园豆:1602 | 2010-10-15 13:08
谢谢 大虾
(_敢◇o.絕 | 园豆:150 (初学一级) | 2010-10-15 14:09
其他回答(4)
0

可以说具体一点吗

天神一 | 园豆:845 (小虾三级) | 2010-10-15 11:09
0

form.visible=true/false

你说的不具体

茂茂 | 园豆:2902 (老鸟四级) | 2010-10-15 11:19
不是C# 本程序的窗体界面操作,是其他程序的窗体界面的操作
支持(0) 反对(0) (_敢◇o.絕 | 园豆:150 (初学一级) | 2010-10-15 11:29
0

你其实问的是进程间的通信问题,比如你用vc++写了个程序,运行在windows任务管理器中,你想写个c#程序来显示或隐藏用vc++写的程序的主界面,那两个进程间必须有个契约才能相互访问,否则的话很难。建议你看看.net remoting
我是这么理解的,不知道有没有更好的办法。

大河 | 园豆:215 (菜鸟二级) | 2010-10-15 11:42
vc++ 不是我写的,看来很难了
支持(0) 反对(0) (_敢◇o.絕 | 园豆:150 (初学一级) | 2010-10-15 11:47
0

用API来获取和操作你希望控制的窗体,不行么!?

可以用 FindWindow 或 FindWindowEx 去查找它的句柄,而显示和隐藏窗口,使用的是 ShowWindow:

[DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport(
"user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);

 

ShowWindow 的第二参数, 1 表示显示, 0 表示隐藏
收获园豆:30
peony007 | 园豆:397 (菜鸟二级) | 2010-10-15 12:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册