4

アプリケーションを起動するたびに、Internet Explorer が既に開いているかどうかに関係なく、Internet Explorer の新しいインスタンスが作成されますShellExecuteExiexplore.exe

これを変更したいのですが、既に Internet Explorer のインスタンスが存在する場合はShExecInfo.lpParameters、新しいウィンドウを作成せずに、に渡すアドレスを使用してそのインスタンスで新しいタブを開く必要があります。これを行う方法はありますか?ご意見をお聞かせください..

UPADATE: 以下の回答で問題が発生しました。lpFile パラメータを「iexplore.exe」に設定し、lpParameters を「www.google.com」に設定すると、2 つのウィンドウが開きます。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;

} 
4

1 に答える 1

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;
}
于 2012-08-17T07:01:16.240 に答える