[C++] команды плееру

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Qb1024, 6 Aug 2010.

  1. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Можно искать окна по классу, получить класс окна можно с помощью моей проги: http://slil.ru/29541864

    Использование: наводим мышку на нужное окно, нажимаем Ctrl, в консоли появляется информация об окне. (Обычно надо класс самого главного окна (последнего Parent'a))
     
  2. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    WNZRS для таких целей изобрели мелкомягкие SPY++, который входит в стандартный набор visual studio... да и зачем искать окно по классу?
    Вообще окна процесса можно искать дохренища разными способами даже можно найти по индификатору сокета или открытому файлу,по открытой ветки реестра... но зачем извращаться? самый простой вариант заголовок окна )
     
    _________________________
  3. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Я конечно страшно извиняюсь, но компилятор на следующий код:
    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;
    }
    страшно ругается:
     
  4. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    2 Qb1024 читал мои прошлые посты? RTFM!!!
    #include <tchar.h>
    EnumWindows
     
    _________________________
  5. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Да, теперь находит окно, но видимо не то, т.к. посланные команды никак не выполняются.
    Видимо существует несколько окон винампа, на одно из них натыкается поиск и завершается, а это окно не обрабатывает команды.

    Я пробовал сначала поискать по точному названию, а потом с помощью функции, выдаёт разные значения, на первом выполняет команды, а на втором нет.
     
    #25 Qb1024, 8 Aug 2010
    Last edited: 8 Aug 2010
  6. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    ну так чего посоветуете чтобы найти окно?
     
  7. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    читать книжки
     
    _________________________