Перед вами
очередной выпуск рассылки "Программирование на WinApi" Переводы многих функций Win32API, которые часто используются
в данной рассылке, вы можете получать, подписавшись на дружественную
рассылку "WinAPI на
русском". Справочник по функциям Win32API вы
можете посмотреть на сайте BcbDev.ru в разделе MSDN
по-русски.
Как
закрыть чужую программу,
зная только её исполняемый
файл?
Например, чтобы закрыть все
окна Word, можно воспользоваться нижеописанным методом. Но этот метод
работает только в тех случаях, когда у приложения есть повторяющиеся
фрагменты текста в заголовке.
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
LPTSTR s="";
char *pBuf = new char[1025];
int iBufSize = 1024;
int iRcvd;
iRcvd = GetWindowText(hwnd,pBuf,iBufSize);
pBuf[iRcvd]=NULL;
s=pBuf;
char *p=strstr(s,"Microsoft Word");
if (p!=0)
{
SendMessage(hwnd,WM_CLOSE,0,0);
delete pBuf;
return FALSE;
}
delete pBuf;
return TRUE;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
EnumWindows((WNDENUMPROC)EnumWindowsProc,0);
return 0;
}