?
Man kann auch das ApplicationWindow das die DLL erzeugt
ermitteln, leider ist nicht immer der Titel eindeutig.
Abhilfe schaft in Basic oder C# die Funktion FindWindowLike ^^
Die kann man sich auch selber herleiten :
struct result_stru
{
char* text;
UINT(__stdcall*GET)(HWND, LPSTR, UINT);
HWND hRet;
};
BOOL WINAPI StruEnumProc(HWND hwnd, result_stru* stru)
{
char loc_buf[128];
stru->GET(hwnd, loc_buf, 127);
if (strstr(loc_buf, stru->text))
{
stru->hRet = hwnd;
return FALSE;
}
return TRUE;
}
//case sensitive!
HWND FindWindowTitleContains(char* text)
{
result_stru res = { text, (UINT(__stdcall *)(HWND, LPSTR, UINT))GetWindowTextA, 0 };
EnumWindows((WNDENUMPROC)StruEnumProc, (LPARAM)&res);
return res.hRet;
}
//case sensitive!
HWND FindWindowClassContains(char* text)
{
result_stru res = { text, RealGetWindowClassA, 0 };
EnumWindows((WNDENUMPROC)StruEnumProc, (LPARAM)&res);
return res.hRet;
}
if(!(hWnd = ::FindWindowTitleContains("FensterTeilString")))
return FALSE;
geht auch via Classname.
Ganz glücklich wurde ich aber nicht bei der Aktion.
Grüße
K.