Можно искать окна по классу, получить класс окна можно с помощью моей проги: http://slil.ru/29541864 Использование: наводим мышку на нужное окно, нажимаем Ctrl, в консоли появляется информация об окне. (Обычно надо класс самого главного окна (последнего Parent'a))
WNZRS для таких целей изобрели мелкомягкие SPY++, который входит в стандартный набор visual studio... да и зачем искать окно по классу? Вообще окна процесса можно искать дохренища разными способами даже можно найти по индификатору сокета или открытому файлу,по открытой ветки реестра... но зачем извращаться? самый простой вариант заголовок окна )
Я конечно страшно извиняюсь, но компилятор на следующий код: Code: #include <iostream> #include <windows.h> #include "wa_ipc.h" #include "ipc_pe.h" HWND winamp=NULL; BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam) { TCHAR text[512]; GetWindowText(hwnd,text,sizeof(text)); if(_tcsstr(text,_TEXT("Winamp"))!=NULL) {winamp=hwnd; return FALSE;} return TRUE; } int main(void) { std::cout << "Good..." << std::endl; system ("pause"); // HWND hWinamp=FindWindowA(NULL,"Winamp"); EnumWindow(&EnumWindowsProc,NULL); if(winamp==NULL) {std::cout << "No winamp" << std::endl;} else {std::cout << "Winamp is run" << std::endl;} system ("pause"); SendMessage(winamp, WM_COMMAND, 40045, 0); system ("pause"); return 0; } страшно ругается:
Да, теперь находит окно, но видимо не то, т.к. посланные команды никак не выполняются. Видимо существует несколько окон винампа, на одно из них натыкается поиск и завершается, а это окно не обрабатывает команды. Я пробовал сначала поискать по точному названию, а потом с помощью функции, выдаёт разные значения, на первом выполняет команды, а на втором нет.