private bool IsManagerExist()
{
hwnd_win = FindWindowEx(System.IntPtr.Zero, System.IntPtr.Zero, null, ManagerFormName);
if (hwnd_win == (IntPtr)0)
hwnd_win = FindWindow(null, ManagerFormName);
try
{
Process[] ps = Process.GetProcessesByName("EiscClientManager");
if (ps.Length == 0)
return false;
hwnd_win = ps[0].MainWindowHandle;
foreach (Process p in ps)
{
AIShiner.LogHelper.CommonLog.GetInstance().WriteSystemInfo(
string.Format("{0}:hwnd_win:{1},{2}:{3}", ManagerFormName, hwnd_win, p.MainWindowHandle, p.MainWindowTitle+p.ProcessName+p.ProcessName));
}
if (hwnd_win != IntPtr.Zero)
return true;
return false;
}
catch
{
return false;
}
}
这是我用的几种方法测试,如果不是以服务的方式运行则可以获取到
如果是在WindowsService里面则获取不到 郁闷啊