Einzelnen Beitrag anzeigen

Bomberbb

Registriert seit: 23. Sep 2003
227 Beiträge
 
#1

iexplorer starten und beenden

  Alt 4. Feb 2010, 11:26
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;
  Mit Zitat antworten Zitat