Eigentlich geht es einwandfrei.
Hier ein Beispiel wie ich einen Container mit TrueCrypt starte.
Generiert mit WinSpy
(*Mit WinSpy sollte man erst die Klasse ermitteln. Hier ist es #32770*)
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
wndMain, wndChild, wndEdit: HWND;
begin
wndMain := FindWindow('#32770','Kennwort für D:\TrueCrypt\Container\Y-Privat.trc eingeben');
if wndMain <> 0 then
begin
wndEdit := FindWindowEx(wndMain, 0, 'edit', nil);
wndChild := FindWindowEx(wndMain, 0, 'Button', nil);
if wndMain <> 0 then
begin
SendMessage(wndEdit, WM_SETTEXT, 0, Integer(PChar('Hier kommt das Passwort')));
PostMessage(wndChild, WM_KEYDOWN, VK_RETURN, 0);
end;
end;
end;