| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 05.02.2004
Адрес: Indianapolis
Сообщения: 64
![]() |
Privet vsem!!!
Navernoe eta tema uzhe bila. Kak poluchit hwnd okna znaya tolko zagolovok? K primeru nazvanie okna = "Test1". I eshe, kakoi cod pri nazhatii klavishi Enter? Nado poslat etomu oknu, chto klavisha Enter nazhata. Kak eto sdelat? Thx. Последний раз редактировалось Mind; 13.06.2004 в 01:05. |
|
|
|
|
# 2 | ||
|
Добрый фей-мод
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Mind
Пользуешся функцией: Код:
HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName); Только этот поиск не гарантирует тебе уникальности, т.к. теоретически может быть несколько окон с именем "Test". Цитата:
Цитата:
__________________
Фотолюбительщина Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью. |
||
|
|
|
|
# 3 |
|
Junior Member
Регистрация: 05.02.2004
Адрес: Indianapolis
Сообщения: 64
![]() |
Vot moi kod:
HWND hwnd1; hwnd1=(HWND)FindWindow(NULL,cap1); //Gde cap1 eto CString=_Window's Title_ //Vmesto NULL dolzhen bit kakoi-to class. A esli ya ego ne znau? ::SendMessage(hwnd1,WM_KEYDOWN,VK_RETURN,0); //Tak nado otpravlyat? |
|
|
|
|
# 5 |
|
Добрый фей-мод
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Mind
В общем всё правильно. По поводу 2го вопроса - смотри MSDN. Там есть всё.
__________________
Фотолюбительщина Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью. |
|
|
|
|
# 6 |
|
Junior Member
Регистрация: 05.02.2004
Адрес: Indianapolis
Сообщения: 64
![]() |
Spasibo tebe. Vrode rabotaet. Tolko ya ispolzoval EnumWindows func.
![]() Problema. Kogda posilau messagi chto nazhata klavisha Enter ili bukva v Notepad, on nichego ne delaet. Proboval vse. Prikruchival HWND k CWnd(SubclassWindow). I eto ::PostMessage(hWnd,WM_KEYDOWN,VK_RETURN,0);. Dumal mozhet eto iz-za togo chto okno ne aktivizirovanno. Aktiviziroval(wnd1.SetForegroundWindow() . Ne rabotaet. PLZ HELP!!!
|
|
|
|
|
# 7 |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Для эмуляции нажатия клавиш можно еще пользоваться функцией:
VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, PTR dwExtraInfo ); Или для Win NT/2000/XP : UINT SendInput( UINT nInputs, LPINPUT pInputs, int cbSize ); Все это работает для активного окна. То есть сначала активируешь окно а потом вызываешь эти функции.
__________________
Best Regards |
|
|