He estado trantando de subirte la respuesta pero no se que pasa pero no me deja...

De todos modos te paso el tip directamente de mi cuate Mirko Gajic en
About.Com
Código Delphi
[-]
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean) ;
type
TShiftKeyInfo = record
shift: Byte ;
vkey: Byte ;
end;
ByteSet = set of 0..7 ;
const
shiftkeys: array [1..3] of TShiftKeyInfo =
((shift: Ord(ssCtrl) ; vkey: VK_CONTROL),
(shift: Ord(ssShift) ; vkey: VK_SHIFT),
(shift: Ord(ssAlt) ; vkey: VK_MENU)) ;
var
flag: DWORD;
bShift: ByteSet absolute shift;
j: Integer;
begin
for j := 1 to 3 do
begin
if shiftkeys[j].shift in bShift then
keybd_event(shiftkeys[j].vkey, MapVirtualKey(shiftkeys[j].vkey, 0), 0, 0) ;
end;
if specialkey then
flag := KEYEVENTF_EXTENDEDKEY
else
flag := 0;
keybd_event(key, MapvirtualKey(key, 0), flag, 0) ;
flag := flag or KEYEVENTF_KEYUP;
keybd_event(key, MapvirtualKey(key, 0), flag, 0) ;
for j := 3 downto 1 do
begin
if shiftkeys[j].shift in bShift then
keybd_event(shiftkeys[j].vkey, MapVirtualKey(shiftkeys[j].vkey, 0), KEYEVENTF_KEYUP, 0) ;
end;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
Example of usage:
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TForm1.SpeedButton1Click(Sender: TObject) ;
begin
PostKeyEx32(VK_SNAPSHOT, [], False) ;
PostKeyEx32(VK_SNAPSHOT, [ssAlt], False) ;
PostKeyEx32(VK_LWIN, [], False) ;
PostKeyEx32(VK_F4, [ssAlt], False) ;
end;
Esta función simula teclazos directametne en tu aplicación, de manera que puedes insertar este codigo debajo del edit1.Text:=...
Código Delphi
[-]
Edit1.SetFocus PostKeyEx32(VK_TAB,[],false)
Ya lo probe y funciona bien...