|
Вопрос # 113/ вопрос открыт / |
|
Доброе время, Господа Программисты. Помогите пожалуйста, разобраться!!! У меня вопрос, которого обычно не задают на таких форумах, ответьте, кто знает. У меня есть неактивная программа, точнее форма. Я нажимаю на любую кнопку, допустим "ч", а в Мемо. плюс к остальному, добавилось "ч". Заранее очень благодарен.!! Жду Вашего ответа!!!
 |
Вопрос задал: Geron (статус: 1-ый класс)
Вопрос отправлен: 27 августа 2006, 00:59
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Dron
Здравствуйте, Stalker!
Я не совсем понял, что именно Вам требуется, но сделал небольшой пример - прикреплённый файл. В проекте две формы. Вторая полностью неактивна и на ней расположено TMemo, которое тоже неактивно. При наборе символов, когда активная первая форма, они добавляются в Memo на второй форме. Если на первой форме будут другие компоненты (например, кнопки) и фокус будет установлен на них, а реагировать на нажатия клавиш всё равно требуется, то следует поставить у формы KeyPreview = True. Удачи! К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: Dron (статус: Студент)
Время отправки: 27 августа 2006, 08:35
|
Ответ #2. Отвечает эксперт: Denisss
Здравствуйте, Stalker!
Вам надо разбираться с клавиатурными хуками (Keyboard Hook).
Попробуйте отыскать в интернете примеры KeyLogger'ов.
(Например, вот: http://www.planet-source-code.com/URLSEO/vb/scripts/ShowCode!asp/txtCodeId!1615/lngWid!7/anyname.htm)
 |
Ответ отправил: Denisss (статус: 2-ой класс)
Время отправки: 27 августа 2006, 11:56
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 5 января 2014, 12:44; участников в обсуждении: 1.
|
zvygin1964 (статус: Посетитель), 5 января 2014, 12:44 [#1]:
А мне на Новый год подарили печатную машинку (проверил, она работает): unit Unit1; // печатная машинка Вопрос # 6 504 http://expert.delphi.int.ru/
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure Memo1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.readonly:=true;
end;
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
#8:
begin
memo1.text:=copy(memo1.text,1,length(memo1.text)-1);
end;
#13:
begin
memo1.lines.add('');
end;
else
begin
memo1.Text:=memo1.Text+key;
end;
end;
memo1.SelStart:=length(memo1.Text);
sendmessage(memo1.handle,EM_SCROLLCARET,0,0);
end;
end.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|