[DllImport("user32.dll")]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
Declare Auto Function FindWindow Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
None.
The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.
Works hand-in-hand with FindWindowEx
Use the fantastic Spy++ (One of the vStudio tools) to get details of specific Windows you're looking for.
//C#
//Open Up blank Notepad First !
string lpszParentClass = "Notepad";
string lpszParentWindow = "Untitled - Notepad";
string lpszClass = "Edit";
IntPtr ParenthWnd = new IntPtr(0);
IntPtr hWnd = new IntPtr(0);
ParenthWnd = FindWindow(lpszParentClass,lpszParentWindow);
if (ParenthWnd.Equals(IntPtr.Zero))
Console.WriteLine("Notepad Not Running");
else
{
hWnd = FindWindowEx(ParenthWnd,hWnd,lpszClass,"");
if (hWnd.Equals(IntPtr.Zero))
Console.WriteLine("What the F??? Notepad doesn't have an edit component ?");
else
{
Console.WriteLine("Notepad Window: " + ParenthWnd.ToString());
Console.WriteLine("Edit Control: " + hWnd.ToString());
}
}
Do you know one? Please contribute it!