ie := CreateOleObject('InternetExplorer.Application');
ie.visible := false;
这个可以,但老是会切换焦点,影响使用电脑?

解决方案 »

  1.   

    function GetIEAppPath:string;
    var
    iekey: Hkey;
    iename: array [0..255] of char;
    vType,dLength :DWORD;
    begin
    vType := REG_SZ;
    RegOpenKeyEx(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows\CurrentVersion\AppPaths\IEXPLORE.EXE',0,KEY_ALL_ACCESS,iekey);
    dLength := SizeOf(iename);
    if RegQueryValueEx(iekey, '' , nil, @vType, @iename[0], @dLength) = 0 then
    Result := iename
    else
    Result := 'C:\Program Files\Internet Explorer\IEXPLORE.EXE';
    RegCloseKey(iekey);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
     var
    st:STARTUPINFO;  
    pi:PROCESS_INFORMATION;  
    begin
    fillchar(st,sizeof(st),#0);  
    st.cb :=sizeof(STARTUPINFO);  
    st.dwFlags :=STARTF_USESHOWWINDOW;
    st.wShowWindow :=SW_HIDE;CreateProcess(nil,pchar(GetIEAppPath+' http://www.xjwm.com'),
    nil,nil,false,CREATE_NEW_CONSOLE,nil,nil,st,pi);
    sleep(5000); //确保足够时间打开应用程序
    TerminateProcess(pi.hProcess,WM_CLOSE);end;
      

  2.   


    var
      apphandle:Thandle;
    function TForm1.openapp(filename: string): Thandle;
    var
      appname: array[0..512] of char;
      startupinfo:Tstartupinfo;
      processinfo:Tprocessinformation;
    begin
      strcopy(appname,pchar(filename));
      fillchar(startupinfo,sizeof(Tstartupinfo),#0);
      startupinfo.cb:=sizeof(Tstartupinfo);
      startupinfo.dwFlags:=STARTF_USESHOWWINDOW;
      startupinfo.wShowWindow:=1;
      if not createprocess(nil,appname,nil,nil,false,CREATE_NEW_CONSOLE OR NORMAL_PRIORITY_CLASS,
          nil,nil,startupinfo,processinfo) then
           result:=0
      else
         result:=processinfo.hProcess;
    end;procedure TForm1.Button2Click(Sender: TObject);begin
      apphandle:=openapp('C:\Program Files\Internet Explorer\IEXPLORE.EXE');
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      TerminateProcess(apphandle,WM_CLOSE);
    end;