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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 21:42   #11
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Это ответ на:
Цитата:
1. как послать нажатие кнопки? например, висит таймер и каждые тридцать секунд посылает нажатие кнопки A. т.е. если курсор висит в блокноте, туда написалась А.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 10.09.2009, 21:45   #12
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Перевожу: Это означает, что при нажатой клавише Ctrl (Зажал? Лучше скотчем залепи, чтоб палец не соскользнул) нужно кликнуть по надписи WM_CLOSE, которую ты скопировал из поста 8 (в этой теме) и вставил в пустой проект дельфи. После клика появится вкладка наверху, называется MESSAGES. Там показан список всех возможных сообщений, что может посылать Delphi.
Например WM_CLOSE. Что это такое? Сейчас узнаем. Выделяем это. Копируем. и вставляем в поиск яндекса или гугла. нажимаем "искать". Читаем инфу по данной мессаге. Вау! Какая прикольная мессага! Она закрывает указанное (чужое!) окно.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 10.09.2009, 21:54   #13
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,454
По умолчанию

Все нормально работает:
Код:
procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.WMHotKey(var Message: TMessage);
begin
Beep;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 RegisterHotKey(Handle, 13, 0,13); //Enter
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 UnregisterHotKey(Handle,13)
end;
Stilet - и не только в рамках проги, тут Хоткей езает сообщения винды и если нажали нужную клавишу, то произошло действие!
uberchel вне форума Ответить с цитированием
Старый 10.09.2009, 21:57   #14
856100
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 135
По умолчанию

Можно обойтись без хуков:
Код:
procedure TForm1.Timer1Timer(Sender: TObject); \\Интревал таймера 90 (проверено опытным путем)
Var I:Integer;
begin
For I:=65 to 125 do //Символы в промежутке от 65 до 125
If (GetKeyState(I) and 128) = 128 then Memo1.Lines.Add(Chr(I)); //Добовляем символы в memo
end;
Работает и в блокноте и в ворде.....
Будь проще, бери пример с одноклеточных
856100 вне форума Ответить с цитированием
Старый 10.09.2009, 22:11   #15
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

можно что-то типа того:
Код:
var
h:hwnd;
begin
if h=0 then
h:=getforegroundwindow;
if (getforegroundwindow<>h) and (h<>0) then
begin
UnregisterHotKey(h,13)
h:=getforegroundwindow;
RegisterHotKey(h, 13, 0,13); //Enter
end;
end;
P.S.
работает код от uberchel. Так что этот код бестолков
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 10.09.2009 в 22:18.
russian-stalker вне форума Ответить с цитированием
Старый 11.09.2009, 08:15   #16
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

uberchel, сам бип то слышен, но вот только ентер не нажимается - ничего не проиисходит с курсором...
TwiX вне форума Ответить с цитированием
Старый 11.09.2009, 08:55   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Stilet - и не только в рамках проги, тут Хоткей езает сообщения винды и если нажали нужную клавишу, то произошло действие!
Дружище, все то это хорошо , но есть еще одна проблема - если ты переопределил клавишу Энтер то она ни в одной программе больше не сработает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.09.2009, 17:50   #18
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Так нажимается у кого-нить кнопки после использования wm_hotkey?? У меня слышен бип, но больше ничего не происходит. Абсолютно.
TwiX вне форума Ответить с цитированием
Старый 11.09.2009, 17:56   #19
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Я же писал решение, вот прикрутил к коду uberchel'а:
Код:
procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure SetKey(Key:Integer);
begin
  keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
  keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0);
  keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
end;

procedure Tform1.WMHotKey(var Message: TMessage);
begin
Beep;
UnregisterHotKey(Handle,13);
SetKey(13);
RegisterHotKey(Handle, 13, 0,13); //Enter
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
 RegisterHotKey(Handle, 13, 0,13); //Enter
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 UnregisterHotKey(Handle,13)
end;
pushl $0x18E3DF6B
call ICQ

Последний раз редактировалось russian-stalker; 11.09.2009 в 18:03.
russian-stalker вне форума Ответить с цитированием
Старый 11.09.2009, 18:00   #20
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,454
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
Так нажимается у кого-нить кнопки после использования wm_hotkey?? У меня слышен бип, но больше ничего не происходит. Абсолютно.
Что не ужели не доходит, что в обработчике:

Код:
procedure Tform1.WMHotKey(var Message: TMessage);
begin
Beep; // Написано Бип, кто мешает тут написать другое ??????????????
end;
uberchel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перерисовка канвы нажатием кнопки клавы ViNcHeStEr Помощь студентам 3 07.04.2009 04:57
3 в одном: Хук клавы, мышки и..... Vognedar Win Api 2 02.03.2009 13:39
Как отследить нажатие кнопки? Bezdar Microsoft Office Excel 9 17.12.2008 11:12
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
Как отследить нажатие кнопки Обновить из PHP? Timpi PHP 4 11.07.2008 09:16