【发布时间】:2014-03-13 08:33:04
【问题描述】:
为什么 process.MainWindowHandle 在下面的代码中为零?
Process me = Process.GetCurrentProcess();
foreach (Process process in Process.GetProcessesByName(me.ProcessName))
{
if (process.Id != me.Id)
{
MessageBox.Show(string.Format("{0}", process.MainWindowHandle));
ShowWindow(process.MainWindowHandle, 5);
ShowWindow(process.MainWindowHandle,3);
SetForegroundWindow(process.MainWindowHandle);
break;
}
}
【问题讨论】:
-
您确定您的进程有与之关联的窗口吗?可能不会。实际的窗口可能是一个自行生成的进程。
-
隐藏的窗口实际上是这个过程的另一个实例,它只是被 ShowWindow 隐藏了。