-
[ Pobierz całość w formacie PDF ]
modyfikujących, które mają zostać przesłane do okna,
odbierającego zdarzenia związane z użytkownikiem
(posiadającego tzw. input focus). Wait jest wartością
logiczną, która określa, czy SendKeys ma czekać z wysłaniem
każdego komunikatu o wciśnięciu klawisza dopóki nie zostanie
zakończone przetwarzanie poprzedniego komunikatu. Więcej
informacji znaleźć można w tabeli poniżej.
Jedynym argumentem AppActivate jest wartość typu PChar, np.:
AppActivate('WindowName');
gdzie WindowName jest nazwą okna, które ma zostać uaktywnione
(tj. uzyskać input focus).
Składnia SendKeys jest identyczna ze składnią odpowiedniej
procedury Visual Basica.
Dozwolone kody modyfikujące:
+ = Shift
^ = Control
% = Alt
Aby zmodyfikować całą grupę kolejnych klawiszy należy ich
nazwy lub litery ująć w nawiasy. Na przykład, '+abc' oznacza,
że Shift naciśnięty jest tylko z literą 'a'. Natomiast
'+(abc)' oznacza, że wszystkie trzy znaki mają być
wprowadzane przy wciśniętym klawiszu Shift.
Dozwolone znaki specjalne
~ = Enter
( = początek grupy modyfikowanych klawiszy (patrz wyżej)
) = koniec grupy modyfikowanych klawiszy (patrz wyżej)
{ = początek nazwy klawisza (patrz niżej)
} = koniec nazwy klawisza (patrz niżej)
Dozwolone znaki:
SendKeys obsługuje wszystkie znaki, które da się wprowadzić
z klawiatury. Aby wysłać wymienione wyżej kody modyfikujące
jako zwykłe znaki, należy ująć je w nawiasy sześcienne.
Podobnie, w nawiasy sześcienne należy ujmować nazwy klawiszy,
wymienione w tabeli poniżej. Po nazwie klawisza, ale jeszcze
przed zamykającym nawiasem, można umieścić liczbę, mówiącą,
ile razy dany klawisz ma być wysłany, (np. {left 6}).
BKSP, BS, BACKSPACE
BREAK
CAPSLOCK
903
CLEAR
DEL
DELETE
DOWN
END
ENTER
ESC
ESCAPE
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16
HELP
HOME
INS
LEFT
NUMLOCK
PGDN
PGUP
PRTSC
RIGHT
SCROLLLOCK
TAB
UP
Follow the keyname with a space and a number to send
the specified key a given number of times (e.g., {left
6}).
*)
unit sndkey32;
interface
Uses SysUtils, Windows, Messages;
904
Function SendKeys(SendKeysString : PChar; Wait :
➥ Boolean) : Boolean;
function AppActivate(WindowName : PChar) : boolean;
implementation
type
THKeys = array[0..pred(MaxLongInt)] of byte;
var
AllocationSize : integer;
(*
Converts a string of characters and key names to keyboard
events and passes them to Windows.
Example syntax:
SendKeys(‘abc123{left}{left}{left}def{end}456{left
➥ 6}ghi{end}789’, True);
*)
Function SendKeys(SendKeysString : PChar; Wait :
➥ Boolean) : Boolean;
type
WBytes = array[0..pred(SizeOf(Word))] of Byte;
TSendKey = record
Name : ShortString;
VKey : Byte;
end;
const
{Array of keys that SendKeys recognizes.
If you add to this list, you must be sure to keep
➥ it sorted alphabetically by Name because a
➥ binary search routine is used to scan it.}
MaxSendKeyRecs = 41;
SendKeyRecs : array[1..MaxSendKeyRecs] of
➥ TSendKey =
(
(Name:’BKSP’; VKey:VK_BACK),
(Name:’BS’; VKey:VK_BACK),
(Name:’BACKSPACE’; VKey:VK_BACK),
(Name:’BREAK’; VKey:VK_CANCEL),
905
(Name:’CAPSLOCK’; VKey:VK_CAPITAL),
(Name:’CLEAR’; VKey:VK_CLEAR),
(Name:’DEL’;
VKey:VK_DELETE),
(Name:’DELETE’; VKey:VK_DELETE),
(Name:’DOWN’; VKey:VK_DOWN),
(Name:’END’;
VKey:VK_END),
(Name:’ENTER’; VKey:VK_RETURN),
(Name:’ESC’;
VKey:VK_ESCAPE),
(Name:’ESCAPE’; VKey:VK_ESCAPE),
(Name:’F1'; VKey:VK_F1),
(Name:’F10';
VKey:VK_F10),
(Name:’F11';
VKey:VK_F11),
(Name:’F12';
VKey:VK_F12),
(Name:’F13';
VKey:VK_F13),
(Name:’F14';
VKey:VK_F14),
(Name:’F15';
VKey:VK_F15),
(Name:’F16';
VKey:VK_F16),
(Name:’F2'; VKey:VK_F2),
(Name:’F3'; VKey:VK_F3),
(Name:’F4'; VKey:VK_F4),
(Name:’F5'; VKey:VK_F5),
(Name:’F6'; VKey:VK_F6),
(Name:’F7'; VKey:VK_F7),
(Name:’F8'; VKey:VK_F8),
(Name:’F9'; VKey:VK_F9),
(Name:’HELP’; VKey:VK_HELP),
(Name:’HOME’; VKey:VK_HOME),
(Name:’INS’;
VKey:VK_INSERT),
(Name:’LEFT’; VKey:VK_LEFT),
(Name:’NUMLOCK’; VKey:VK_NUMLOCK), [ Pobierz caÅ‚ość w formacie PDF ] - zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- zambezia2013.opx.pl