Дескриптор
Nic;
30.9.03
Подскажите как получить дескриптор окна? например WinCC Online
Trend Control
Re: Дескриптор
Лев
Шерешевский; 7.10.03
Ну, примерно так, как показано ниже. В данном примере функция
приложения VisualC ищет окно трендов и закрывает его.
Использовалось в Win2k SP4 с WinCC 5.1.
typedef UINT (WINAPI *lpfnRealGetWindowClass)(HWND hwnd, LPTSTR
pszType, UINT cchType);
BOOL CALLBACK EnumChildProc(HWND hWnd, LPARAM lParam)
{
const size = 100;
char szType [size+1];
CString Msg;
lpfnRealGetWindowClass RealGetWindowClass;
HMODULE hUser32 = GetModuleHandle("USER32.DLL");
RealGetWindowClass =
(lpfnRealGetWindowClass)GetProcAddress(hUser32,
"RealGetWindowClass");
RealGetWindowClass(hWnd, szType, size);
if (!strcmp(szType, "WinCC Online Trend Control"))
{
::PostMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
return FALSE;
}
return TRUE;
}
void CTestFindWindowDlg::OnBtn1()
{
HWND hWndP;
hWndP = ::FindWindow("PDLRTisAliveAndWaitsForYou", NULL);
EnumChildWindows(hWndP, EnumChildProc, 0);
}
См. Центр компетенции WinCC
Re: Дескриптор
Маслов
Дмитрий; 8.10.03
Дескриптор окна можно получить так (пример для калькулятора):
HWND Handle = FindWindow("SciCalc", NULL);
Функция FindWindow ищет окно по типу или по заголовку. В данном
примере используется поиск по типу.
См. WinCC Competence Center