Witam,
Mam problem z Keyspyxp... mianowicie, chciałbym aby po wcisnieciu np. klawisza 'd' z klawiatury był on podmieniony na inny np na 'g'.
Pozdrawiam
Na poziomie jadra czy w twoim programie
W moim.
Przeciez to proste. Po przechwyceniu kodu klawisza wstawiasz procedure, która zapisuje inny znak(tylko sie nie pogub :)) np oto fragment kodu
procedure TForm1.OnKeyPressed(Sender: TObject; AKeyStates: TKeyStates; AKeyNames: TKeyNames);
...
begin
...
if AKeyStates.KeyDown then
begin
KeyOrd := ord(AKeyNames.KeyChar);
case KeyOrd of
100: Twoja procdura;//litera d
end;
end;
end;
Przecież wystarczy zajrzeć do źródła "KeySpyXP.pas" i podmienić w tablicy jeden znak.
const klawisze:array[0..255]of string =
((''),
//...
(''),
(''),
('a'),
('b'),
('c'),
('d'), // zamieniasz tutaj na 'g'
//...
Ale ten program nie dziala jak należy. Koncepcja tego programu jest błędna i nie daje pożądanych
efektów. Jeżeli chodzi o odpowiedz na pytanie kolegi to nie ma znaczenia jakiej metody użyje.
Pytanie co chce przez to osiągnąc? I jaka jest jego koncepcja programu.
A jak można zamiast podmiany po prostu je ominąć ? np. chciałbym aby nie wyłapywało mi jakiejś tam literki np. "y" ingerujac w zrodlo i zmieniajac z 'y' na ' ' komponent sie sypie :|