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);
可以说具体一点吗
form.visible=true/false
你说的不具体
你其实问的是进程间的通信问题,比如你用vc++写了个程序,运行在windows任务管理器中,你想写个c#程序来显示或隐藏用vc++写的程序的主界面,那两个进程间必须有个契约才能相互访问,否则的话很难。建议你看看.net remoting
我是这么理解的,不知道有没有更好的办法。
用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 表示隐藏