Witam,
mam taki oto kod, który odpowiada za symulowanie wciskanych klawiszy podanych w zmiennej value:
procedure Keyboard_SendText(const value: WideString);
var i:integer;
j:integer;
ch:byte;
str:string;
begin
i:=1;
while i<=Length(value) do
begin
ch:=byte(value[i]);
if Windows.IsDBCSLeadByte(ch) then
begin
Inc(i);
str:=inttostr(MakeWord(byte(value[i]), ch));
keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0, 0);
j:=1;
while j<=Length(str) do
begin
keybd_event(96+strtoint(str[j]), MapVirtualKey(96+strtoint(str[j]), 0), 0, 0);
keybd_event(96+strtoint(str[j]), MapVirtualKey(96+strtoint(str[j]), 0), 2, 0);
j:=j+1;
end;
keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP, 0);
end else
begin
keybd_event(VkKeyScan(value[i]),0,0,0);
keybd_event(VkKeyScan(value[i]),0,2,0);
end;
Inc(i);
end;
end;
Problem jest taki, że nie emuluje mi WIELKICH liter. Wiem, że trzeba obsłużyć w jakiś sposób SHIFT ale szczerze powiedziawszy to nie wiem w jaki sposób to zrobić. Może ma ktoś jakiś przykład, gdzie obsługuje małe i duże litery oraz znaki?