Hallo,
ich habe ein kleines Problem. Ich möchte den ie nutzen um Radio zu hören. Da ich Ihn aber nicht in der Taskleiste sehen will
rufe ich ihn per Createprocess auf. Der folgende Code funktioniert schon ganz gut. Allerdings mit einer Ausnahme:
SendMessageTimeout bewirkt kein beenden des Prgramms. Mache ich was falsch, oder liegt das am ie???
Gruß
BBB
Delphi-Quellcode:
Procedure TfrmKeyMakro.pmiRadioClick(Sender: TObject);
Var
si : TStartUpInfo;
DWResult :Dword;
Begin { Process_Cmd }
If fPi.hProcess = INVALID_HANDLE_VALUE Then
Begin
FillChar(si, SizeOf(StartupInfo), #0);
si.cb := SizeOf(StartupInfo);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_HIDE;
If CreateProcess(Nil, '"C:\Programme\Internet Explorer\iexplore.exe" "http://edge.download.newmedia.nacamar.net/freestream/download/radiohochstift/frameset.html"'
, Nil, Nil, False, 0, Nil, Nil, si, fPi) Then
Begin
pmiRadio.Caption := 'Radio beenden';
End;
End
Else
Begin
SendMessageTimeout(fPi.hProcess, WM_CLOSE, 0, 0, SMTO_ABORTIFHUNG Or SMTO_NORMAL, 5000, DWResult);
If isWindow(fPi.hProcess) Then
TerminateProcess(fPi.hProcess, Cardinal(-1));
fPi.hProcess := INVALID_HANDLE_VALUE;
pmiRadio.Caption := 'Radio starten';
End;
End;