同题

解决方案 »

  1.   

    ShellExecute(0,"open","http://...............com",0,0,1);
    HINSTANCE ShellExecute(HWND hwnd,LPCTSTR lpOperation,LPCTSTR lpFile,LPCTSTR lpParameters,LPCTSTR lpDirectory,INT nShowCmd);
      其调用参数的含义如下:
      hwnd:指明打开文件的窗口句柄。
      lpOperation:指明操作类型,分别是“open”(打开)、“print”(打印)、“explore”(浏览)。
      lpFile:欲打开文件的文件名。这里应该将文件的含义向更深层次理解。文件可以是本地文件,也可以是远程文件;文件的类型可以是文本文件,也可以是多媒体文件。
      lpParameters:打开文件时所传递的参数。特别适合打开EXE文件。
      lpDirectory:文件所在路径。
      nShowCmd:打开文件时窗口的状态。0表示隐藏,1表示最大化,2表示最小化。
      如果该函数能够成功打开文件,则该函数的返回值大于32
      

  2.   

    CreateProcess(), IE的文件名是iexplore.exe
      

  3.   

    winexec,  shellexecute,createprocess都可以
      

  4.   

    WinExec最简单,两个参数,前一个指定路径,后一个指定显示方式.后一个参数值得说一下,比如泥用  SW_SHOWMAXMIZED方式去加栽一个无最大化按钮的  程序,呵呵就是Neterm,calc等等,就不会出现正常的  窗体,但是已经被加到任务列表里了。
    ShellExecute较  WinExex灵活一点,可以指定工作目录CreateProcess最复杂,一共有十个参数,不过大部分都可以用NULL代替,它可以指定进程的安全属性,继承信息,类的优先级等等.来看个很简单的  Example:  STARTUPINFO  stinfo;  //启动窗口的信息  PROCESSINFO  procinfo;  //进程的信息  CreateProcess(NULL,_T("notepad.exe"),NULL,NULL.FALSE,  NORMAL_PRIORITY_  CLASS,NULL,NULL,  &stinfo,&procinfo);
      

  5.   

    要成为子进程并对其控制,只有用createprocess
      

  6.   

    tangshiping(苇舞) 兄弟:
    你好像对api很熟悉,可以发份你手头的api资料吗?我收集了一些api查询工具,可是都不好用,因为他们都没对api做功能分类。我的email是[email protected]
      

  7.   

    是这样的,我自己写了个程序想在ie现实区域内画一些矢量图,目前打算用图元来实现,可是发现在ie中我无法改变鼠标的模样,查询了几个改变鼠标状态的api,如:setsursor,setclasslong等等都无法控制另一进程中鼠标的样子,所以我才想如果用自己写的程序去启动ie,让它成为我程序的子进程,或许可以控制鼠标的样子。
    不知道我想法对否???
      

  8.   

    killer1978(水手) :
    我也没有api的好资料,有的都是按拼音排顺序的。很少看,知道的都是平时自己积累的。
    你为什么一定要在ie内做这个工作呢?用个文档不可以吗?我很少做这方面的东西,给你推荐“何志丹”,他对这个很熟悉。
      

  9.   

    何志丹是哪位高手,如何联系?
    我准备写个基于ie的电子白板,boss不允许我做独立的客户端把ie嵌在自己写的窗口里,我只好出下策,写个程序调用gdi函数在用户打开的ie里画图。
      

  10.   

    各个斑竹对gdi好象也都是高手,你不妨请斑竹出现下,呵呵
      

  11.   

    tangshiping(苇舞):
    如何请斑竹出现呢?tangshiping(苇舞)对我发的帖子反应迅速,本人佩服,你如何做到的,是csdn给你发了短消息吗
      

  12.   

    http://blog.joycode.com/jiangsheng/posts/14110.aspx
    加速浏览器控件的创建 
    我们知道,应用程序中浏览器控件的第一个实例的创建过程比其他的实例创建过程慢得多。为了加速浏览器控件的创建,在应用程序的开始,可以创建一个隐藏的浏览器对象,使得应用程序中随时都至少有一个浏览器控件的实例在主窗口类中声明 CComPtr<IOleObject> m_spOleObjectPreloadBrowser;
    在主窗口类的初始化函数中 HRESULT hr = CoCreateInstance(CLSID_WebBrowser, NULL, CLSCTX_INPROC,
            IID_IOleObject, (void**)&m_spOleObjectPreloadBrowser);
     if (FAILED(hr)){
      TRACE(_T("Can not create WebBrowser\r\n"));
      return FALSE;
     }
     CComQIPtr<IWebBrowser2> pWebBrowser(m_spOleObjectPreloadBrowser);
     if(pWebBrowser){
      CComBSTR bstrURL = _T("about:blank");
      COleSafeArray vPostData;
      pWebBrowser->Navigate(bstrURL,
       COleVariant((long) 0, VT_I4),
       COleVariant(_T(""), VT_BSTR),
       vPostData,
       COleVariant(_T(""), VT_BSTR));
     }
    然后在退出时释放 m_spOleObjectPreloadBrowser=NULL;这样可以大大加快程序中浏览器控件的创建速度。因为IE的动态库都是共享的,所以除了第一个示例之外,多开一个实例多占用的内存并不大。QQ的广告窗口明显就没有用这个方法来加速……打开的时候慢得要死……
      

  13.   

    默认创建的浏览器是隐藏的,要调用IWebBrowser2::put_Visible来使其可见
      

  14.   

    killer1978(水手) :
    我的技术社区-》我参与的问题
    我只不过一会就f5后看看。呵呵