Come utilizzare TTouchKeyboard in Delphi, in modo che possa inviare sequenze di tasti ad altri programmi. Ad esempio, voglio digitare la password in un browser utilizzando il componente TTouchKeyboard. Non ho idea di come rendere il focus del browser mentre clicco sulla mia tastiera.TTouchKeyboard: invia la sequenza di tasti ad un altro programma?
5
A
risposta
10
TTouchKeyboard
invia i tasti per il controllo corrente concentrata: quindi se avete un TEdit
con la messa a fuoco , il TEdit riceveranno la chiave ...
È possibile creare un modulo che contiene il TTouchKeyboard
e aggiungere questa procedura:
protected
procedure CreateParams(var Params: TCreateParams); override;
...
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
ExStyle := ExStyle or WS_EX_NOACTIVATE;
WndParent := GetDesktopwindow;
end;
end;
Il modulo non può disporre della messa a fuoco ... quindi, la chiave viene inviata al controllo focalizzato precedente. (L'ho appena testato e funziona: la chiave è stata inviata a questa pagina Web)
Bingo! WS_EX_NOACTIVATE è ciò di cui ho bisogno. – user
Questo non sembra funzionare per me, in quanto il controllo perde la messa a fuoco quando premo un tasto sulla tastiera virtuale. Cosa mi manca? Sto usando XE2 in questo caso. – SiBrit