[DllImport("user32.dll")]
static extern bool GetGUIThreadInfo(uint idThread, out GUITHREADINFO lpgui);
public struct GUITHREADINFO
{
public int cbSize;
public int flags;
public int hwndActive;
public int hwndFocus;
public int hwndCapture;
public int hwndMenuOwner;
public int hwndMoveSize;
public int hwndCaret;
public System.Drawing.Rectangle rcCaret;
}
None.
None.
Please add some!
GUITHREADINFO threadInfo = new GUITHREADINFO();
threadInfo.cbSize = Marshal.SizeOf( threadInfo );
GetGUIThreadInfo( 0, out threadInfo );
// Get WIndow Handle From Thread ID
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetGUIThreadInfo(uint idThread, ref GUITHREADINFO lpgui);
public struct GUITHREADINFO
{
public int cbSize;
public int flags;
public int hwndActive;
public int hwndFocus;
public int hwndCapture;
public int hwndMenuOwner;
public int hwndMoveSize;
public int hwndCaret;
public System.Drawing.Rectangle rcCaret;
}
public int getThreadWindowHandle( uint dwThreadId )
{
int hWnd = 0;
// Get Window Handle and title from Thread
Win32API.GUITHREADINFO guiThreadInfo = new Win32API.GUITHREADINFO();
guiThreadInfo.cbSize = Marshal.SizeOf(guiThreadInfo);
Win32API.GetGUIThreadInfo(dwThreadId, ref guiThreadInfo);
hWnd = guiThreadInfo.hwndActive;
return hWnd;
}
Do you know one? Please contribute it!