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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2011, 19:24   #11
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

fate Либо я торможу либо хз , вставля во все значения где стоит 0 , 3 (пробовал вставить 3B делфи пишет ошибку) не получается у меня не как .. . , так же где встовлял значение 3 всё выполнял но опять же на том же моменте останавливал нажатие клавиши (((((
ClMlD вне форума Ответить с цитированием
Старый 24.08.2011, 19:43   #12
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Цитата:
вставля во все значения где стоит 0
почитай описание функции keybd_event

3B - это в шестнадцатеричной системе, поэтому пробуй $3B
fate вне форума Ответить с цитированием
Старый 24.08.2011, 20:30   #13
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

fate спасибо тебе огромное , но я не мог не заметить следующий момент , я изменил код следующем способом

SetForegroundWindow(FindWindow(nil, 'Asterios'));
keybd_event(VK_F1, 0, 0, $3B);
keybd_event(VK_F1, 0, KEYEVENTF_KEYUP, 0)

Смотрю в программе spy++ логи , сообщение не изменилось таким же осталось

<00001> 00230644 P WM_KEYDOWN nVirtKey:VK_F1 cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0

<00002> 00230644 P WM KEYUP nVirtKey:Key:VK F1 cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:1 fUp:1
Но программа стала работать просто на ура больше нет этих остоновок , так и должно быть это норма или всеже я накасячил?
Так же хотелось бы узнать как я могу вас отблагодарить ? ? ?

fate как я понял вы так же можете писать на асме , если так оно и есть могу ли я как нибудь с вами связаться ? если вы конечьно не против . . .

Последний раз редактировалось ClMlD; 24.08.2011 в 20:33.
ClMlD вне форума Ответить с цитированием
Старый 24.08.2011, 20:37   #14
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Цитата:
keybd_event(VK_F1, 0, 0, $3B);
третий раз пишу что скан код это второй параметр.

Цитата:
Но программа стала работать просто на ура
странно, а попробуй так keybd_event(VK_F1, $3B, 0, 0);

Цитата:
как я понял вы так же можете писать на асме
нет на асме я не пишу
fate вне форума Ответить с цитированием
Старый 24.08.2011, 20:48   #15
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Как не удивительно но с этим пораметром :

странно, а попробуй так keybd_event(VK_F1, $3B, 0, 0);

Программа вобще нечего не делает O_o даже не разу не жмет на кнопку . . .
ClMlD вне форума Ответить с цитированием
Старый 25.08.2011, 10:04   #16
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

У меня ещё вопросик :
А как можно отправить это же нажатие клавиши только не активному окну?
ClMlD вне форума Ответить с цитированием
Старый 25.08.2011, 11:49   #17
DenNik2006
Пользователь
 
Аватар для DenNik2006
 
Регистрация: 27.07.2011
Сообщений: 71
По умолчанию

вот ссылка на Spy++ вер 9.00. Интерфейс русский, хелп на инглише
http://reversing.do.am/load/spy/3-1-0-35

Цитата:
Сообщение от ClMlD Посмотреть сообщение
У меня ещё вопросик :
А как можно отправить это же нажатие клавиши только не активному окну?
SendMessage
Техника несовершенна: компьютеру, чтобы прийти в себя, нужно три пальца, человеку - всего два!

Последний раз редактировалось rpy3uH; 25.08.2011 в 13:38.
DenNik2006 вне форума Ответить с цитированием
Старый 25.08.2011, 12:44   #18
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

DenNik2006 нет SendMessage не подходит , я щас побегал по поиску форума и понял что SendMessage не подходит для реализации моей задачи а нужна функция PostMessage. Но я что то с ней не разберусь заголовок окна верный 100% пытаюсь отослать клик а не каких действий нету , так же в логах окна тоже тихо. . .
ClMlD вне форума Ответить с цитированием
Старый 25.08.2011, 13:22   #19
ClMlD
Форумчанин
 
Аватар для ClMlD
 
Регистрация: 09.07.2011
Сообщений: 185
По умолчанию

Помогите прошу что тут не так ? у меня уже сил нету. . .
Код:
procedure TForm1.Button1Click(Sender: TObject);
 var
   wnd: HWND;
 begin
   wnd := FindWindow('Имя окна', nil);
   if wnd <> 0 then
   begin
    PostMessage(wnd, WM_KEYDOWN, VK_F1, 0);
    PostMessage(wnd, WM_KEYUP, VK_F1, 0);
   end;
end;
ClMlD вне форума Ответить с цитированием
Старый 25.08.2011, 13:34   #20
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

у функции FindWindow первый параметр имя класса, второй заголовок окна
fate вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реакция на нажатие клавиши. Vaigard Общие вопросы Delphi 4 30.12.2010 18:39
Нажатие клавиши... Basketman Общие вопросы Delphi 1 11.02.2010 09:35
Долгое нажатие клавиши в KeyDown как одно нажатие marina15056 Общие вопросы Delphi 7 16.08.2009 00:22
Нажатие клавиши (Delphi) VadEr Помощь студентам 3 08.06.2009 17:00
Нажатие клавиши format Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 05.05.2008 15:25