我使用ShellExecuteEx
来调用iexplore.exe
,每当我启动应用程序时,都会创建一个新的Internet Explorer实例,无论是否已经打开过Internet Explorer。
我想改变这个,如果已经存在Internet Explorer的实例,我需要在该实例中打开一个新选项卡,其中包含我传递给ShExecInfo.lpParameters
的地址,因此无需创建新窗口。有没有办法做到这一点?请指教..
UPADATE: 在下面的答案中我有一个问题,当我将lpFile参数设置为“iexplore.exe”而lpParameters设置为“www.google.com”时,会打开两个窗口。如果我忽略lpfile参数,那么下面的代码在某些机器中打开默认浏览器。我只想让Internet Explorer打开。请帮忙..
int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {
ShellExecute(0,L"open",L"iexplore.exe", L"http://www.google.com",0,SW_SHOWDEFAULT );
ShellExecute(0,L"open", L"iexplore.exe", L"http://www.yahoo.com",0,SW_SHOWDEFAULT );
return 0;
}
答案 0 :(得分:7)
适用于ShellExecute
。
#include <stdio.h>
#include <tchar.h>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
ShellExecute(0,L"open",L"http://www.google.com",0,0,SW_SHOWDEFAULT );
ShellExecute(0,L"open",L"http://www.yahoo.com",0,0,SW_SHOWDEFAULT );
return 0;
}