Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2011, 09:34   #1
Bl@ckGold
 
Аватар для Bl@ckGold
 
Регистрация: 07.05.2011
Сообщений: 5
Сообщение Проблема с нажатием клавиши в другом приложении

Решил написать программу, выполняющую нажатие клавиши в другое приложение, но под самый конец наткнулся на проблему... В это приложение встроена защита от нажатия виртуальной клавиши. Проверка организовывается Ассемблеровской командой cmp. Один "хороший человек" сказал, что можно просто удалить эту проверку, либо блокировать. Вот на этом я и застрял. Каким образом можно удалить/блокировать команду в другом приложении?
Сразу говорю - гугл рулит в этой теме - не в тему...

Последний раз редактировалось Bl@ckGold; 07.05.2011 в 09:38.
Bl@ckGold вне форума Ответить с цитированием
Старый 07.05.2011, 12:30   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

"Гугл никто не отменил" и это правило действительно всегда.
Удалить можно под отладчиком. Но это уже про взлом. Тут это запрещено.

В по поводу первого:
FindWindow - ищем окно
FindWindowEx - ищем кнопку
PostMessage - посылаем нажатие
Человек_Борща вне форума Ответить с цитированием
Старый 07.05.2011, 15:28   #3
Bl@ckGold
 
Аватар для Bl@ckGold
 
Регистрация: 07.05.2011
Сообщений: 5
Сообщение

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
В по поводу первого:
FindWindow - ищем окно
FindWindowEx - ищем кнопку
PostMessage - посылаем нажатие
Первое вопросом не является. Имеется уже вполне работоспособное приложение, и единственная проблема - cmp. И да, я отправляю нажатие виртуальной клавиши окну, а не нажатие кнопки в окне. Всё это вполне решается командой SendMessage...

Вопрос ко всем: Правка кода чужого приложения тоже здесь запрещена? Если да, то прошу администрацию форума удалить тему, т.к. единственный вопрос тут - сказанное выше.
Bl@ckGold вне форума Ответить с цитированием
Старый 07.05.2011, 20:22   #4
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

А если отослать нажатие через keybd_event?
eduard93 вне форума Ответить с цитированием
Старый 09.05.2011, 15:03   #5
Bl@ckGold
 
Аватар для Bl@ckGold
 
Регистрация: 07.05.2011
Сообщений: 5
Сообщение

Цитата:
Сообщение от eduard93 Посмотреть сообщение
А если отослать нажатие через keybd_event?
Никакой разницы и не должно быть. Все здесь знают, что окна в Windows принимают нажатие в режиме "цикла вечного ожидания", и в требуемой программе в этот цикл встроена проверка ассемблеровской командой cmp.
Справка:
Код:
CMP(CoMPare operands): Данная команда используется для сравнения двух операндов методом вычитания, 
при этом операнды не изменяются. По результатам выполнения команды устанавливаются флаги.
Bl@ckGold вне форума Ответить с цитированием
Старый 09.05.2011, 15:46   #6
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

Такие вещи действительно относятся к взлому и обсуждаются на сайтах типа wasm.ru
eduard93 вне форума Ответить с цитированием
Старый 14.05.2011, 17:37   #7
Bl@ckGold
 
Аватар для Bl@ckGold
 
Регистрация: 07.05.2011
Сообщений: 5
Сообщение

Прошу тех людей, кто сталкивался с данной проблемой, тоесть занимались правкой кода другого приложения написать мне ЛС свой Skype...
Bl@ckGold вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нажатие пункта меню Popup в другом приложении t2skler Общие вопросы Delphi 3 26.04.2011 11:36
Синий кружок должен двигаться треугольной траектории, программа завершается нажатием любой клавиши. Pan_rust Паскаль, Turbo Pascal, PascalABC.NET 3 24.05.2010 23:02
Управление нажатием кнопки в другом приложении Mikhail Bakurov Помощь студентам 5 13.10.2008 23:19
Изменение SysListView32 в другом приложении Legos Общие вопросы Delphi 1 16.10.2007 02:29
Выделенный текст в другом приложении Nez Win Api 9 09.04.2007 01:52