我在程序中需要使用代码来用IE打开url,
ShellExecute(NULL,"open",s,NULL,NULL,SW_SHOW);但是每次它都在已有的IE窗口中打开,并不新开一个窗口浏览,要怎么样才能在新窗口中浏览呢?

解决方案 »

  1.   

    To get IE to open a new window, use the -new argument. That is,      iexplore.exe -new "YourURLGoesHere"
      

  2.   

    HINSTANCE h = ShellExecute(NULL, "open", "iexplore.exe", "-new
    http://www.sina.com.cn", NULL, SW_SHOW);
      

  3.   

    HINSTANCE h = ShellExecute(NULL, "open", "iexplore.exe", "-new
    http://www.sina.com.cn", NULL, SW_SHOW);iexplore.exe-->C:\\Program Files\\Internet explorer\\iexplore.exe
      

  4.   

    先getsystemdirectory,得到program files路径
    然后用什么都可以了。
      

  5.   

    第一种方法:使用ShellExecute函数
    HINSTANCE ShellExecute(
    HWND hwnd, // 父窗口句柄 
    LPCTSTR lpOperation, // 操作类型 
    LPCTSTR lpFile, // 要打开的文件或者文件夹 
    LPCTSTR lpParameters, // 打开文件的参数 
    LPCTSTR lpDirectory, // 默认的目录 
    INT nShowCmd // 打开后的显示方式 
    );
    部分参数具体说明如下: 
    lpOperation的取值范围为: 
    "open" // 打开一个可执行文件,或者是有关联的文档 
    "print" // 打印一个文档
    "explore" // 打开一个目录 
    nShowCmd的取值范围: 
    SW_HIDE 隐藏窗口,活动状态给令一个窗口 
    SW_MINIMIZE 最小化窗口,活动状态给令一个窗口 
    SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态 
    SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态 
    SW_SHOWMAXIMIZED 最大化窗口,并将其激活 
    SW_SHOWMINIMIZED 最小化窗口,并将其激活 
    SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口 
    SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口 
    SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口 
    SW_SHOWNORMAL 与SW_RESTORE相同 例如:打开 http://www.sina.com.cn 这个站点如下:
    ShellExecute(NULL, "open", "http://www.sina.com.cn",NULL, NULL, SW_MAXIMIZE ); 
    此命令将以默认浏览器打开http://www.sina.com.cn,并将加开后的窗口最大化。又例:
    ShellExecute(NULL, "open", "IEXPLORE.exe http://www.sina.com.cn",NULL, NULL, SW_MAXIMIZE ); 
    此命令将直接用IE打开一个sina的站点。不过将开一个新的窗口。第二种方法: 用WinExec函数。WinExec函数在第二章已经讲过了。例如打开sina的站点,可用:
    "IEXPLORE.exe http://www.sina.com.cn",SW_MAXIMIZE);