public IntPtr FindMainWindow(int processId)
{
_bestHandle = (IntPtr)0;
_processId = processId;
Interop.User32.EnumThreadWindowsCallback callback = new Interop.User32.EnumThreadWindowsCallback(EnumWindowsCallback);
Interop.User32.EnumWindows(callback, IntPtr.Zero);
GC.KeepAlive(callback);
return _bestHandle;
}