Hola.
Tal vez te refieras a que la ventana de login del programa ya se este ejecutando... En ese caso fijate si este ejemplo te sirve de base para lo que buscas,
Código Delphi
[-]
...
implementation
uses ShellApi;
procedure TForm1.FormCreate(Sender: TObject);
begin
ShellExecute(Handle, 'open',
PWideChar(GetEnvironmentVariable('SYSTEM')+'notepad.exe'),
'', '', SW_SHOWNORMAL);
end;
procedure TForm1.Button1Click(Sender: TObject);
procedure VKeyPress(const aKey: Char);
var
ti: TInput;
begin
ZeroMemory(@ti, SizeOf(ti));
ti.Itype := INPUT_KEYBOARD;
ti.ki.wVk := vkKeyScan(aKey);
ti.ki.dwFlags := 0;
SendInput(1, ti, SizeOf(ti));
end;
var
H : HWND;
i : Integer;
begin
H := FindWindow(nil, PChar('Sin título: Bloc de notas'));
if H <> 0 then
begin
SetForegroundWindow(H);
EnableWindow(H, False);
try
for i := 1 to Length(EditUserName.Text) do
vKeyPress(EditUserName.Text[i]);
vKeyPress(#13);
for i := 1 to Length(EditUserPassword.Text) do
vKeyPress(EditUserPassword.Text[i]);
finally
EnableWindow(H, True);
SetForegroundWindow(Handle);
end;
end
else
ShowMessage('No se encontró la ventana');
end;
...
El ejemplo escribe el nombre de usuario y contraseñas almacenados en las propiedades
Text de los edits en el Bloc de notas. No es muy específico ya que, como te indicó Antonio, tendríamos que conocer bastante mas acerca del programa externo.
Saludos