No.2ベストアンサー
- 回答日時:
Win32APIを使っておられるなら、もっと簡単な方法がありますよ。
それは、ShellExecute関数を用いることです。
ShellExecute(hwnd,"open","http://----/",...);
この方法で、インターネットエクスプローラが起動し、指定したURLが開きます。
なお、エラー処理などは、MSDNライブラリを参照してください。
参考URL:http://www.microsoft.com/japan/msdn/library/defa …
No.1
- 回答日時:
MFCでいいかな?
やり方は、ダミーのhtmlファイルを作成して、
関連付けられているアプリケーションを探す。
で、CreateProcessで起動します。
以下コピペして使ってやってください。
引数にURL指定したら指定した場所が場所開くよ。
指定無しなら、ホームが開きます。
戻り値はプロセスIDです。
DWORD OpenIE( CString openURL )
{
DWORD pID=0;
char BrowserExec1[250];
FILE*fp;
fp=fopen("open.html","w");
fclose(fp);
CString BrowserExec; //ここに通常設定されているブラウザの名前が格納されます。
CString URL = "open.html"; //起動するHTMLのファイル名
HINSTANCE RetVal = FindExecutable(URL, NULL, BrowserExec1);
BrowserExec = (CString) BrowserExec1;
BrowserExec.TrimLeft(); //両端のスペースを削除します。
BrowserExec.TrimRight();
DeleteFile("open.html"); //いらなくなったので削除
long Ret = (long)RetVal;
if ((Ret <= 32) || (BrowserExec.IsEmpty())){
//ブラウザが見つからなかった場合
AfxMessageBox("インターネットブラウザが見つかりません",MB_ICONEXCLAMATION);
}else{
BrowserExec+= " "+openURL;
strcpy(BrowserExec1,BrowserExec.GetBuffer(BrowserExec.GetLength()));
BrowserExec.ReleaseBuffer();
STARTUPINFO start;
PROCESS_INFORMATION info;
ZeroMemory(&start,sizeof(start));
ZeroMemory(&info,sizeof(info));
start.cb = sizeof(start);
CreateProcess(NULL,BrowserExec1,NULL,NULL,FALSE,CREATE_DEFAULT_ERROR_MODE,NULL,NULL,&start,&info);
pID = (unsigned long)info.dwProcessId; //プロセスID取得(後で使うから)
WaitForInputIdle(info.hProcess,INFINITE); //入力状態まで待つ
}
return pID;
}
// 使い方
void COpenIeDlg::OnButton1()
{
OpenIE("www.microsoft.com/japan"); //指定無しでもOK
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Internet Explorer-11 を削除はしたけれど… 3 2022/06/20 17:54
- その他(ブラウザ) Internet Explorer でなければ開けないページ 4 2022/03/25 18:03
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- その他(ブラウザ) Edge internet explorer モードのサイトの再読み込みを許可 表示されない 2 2023/03/03 12:10
- フリーソフト TARGET frontier JVから起動するブラウザを変えたい 1 2022/10/09 12:08
- その他(ブラウザ) Internet ExplorerからEdgeに変更したときの「お気に入り」についての質問です。 1 2022/05/02 16:02
- その他(Microsoft Office) office2010とoffice365の共存でoffice365を優先で起草させたい 3 2023/01/24 10:47
- Yahoo!メール メールに添付されたhtmlファイルを開く方法 2 2022/10/24 20:19
- その他(ブラウザ) pythonの既定のブラウザを変更したいです 1 2022/07/06 22:09
- Web・クリエイティブ EXCELでweb内の表を取込む方法を教えてください 2 2023/04/01 11:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アウトルックが起動しているか...
-
VBSから別のVBS起動するとき変...
-
VBAでOutlookを終了させたい Ex...
-
Windows上のプログラム。「予め...
-
C# 他のアプリケーションを優先...
-
WinSCPで画像のように puttyを...
-
IEの2重起動抑止
-
Shellで起動したプログラムのウ...
-
Vba アプリケーションが立ち上...
-
64bitで作ったEXEを32bitで起動...
-
ubuntu で emacs を GUI で使う...
-
Excelの残骸
-
タスクスケジューラでPerlが動...
-
ACCESS VBAで別のACCESS(mdb)を...
-
CRONをランダムで起動させ...
-
QueryPerformanceCounter の使...
-
AppActivateについて
-
Process.Startで起動したアプリ...
-
VBAでIEが起動しているか...
-
VBからExcelに書き込む方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アウトルックが起動しているか...
-
WinSCPで画像のように puttyを...
-
VBSから別のVBS起動するとき変...
-
Windows上のプログラム。「予め...
-
VBAでOutlookを終了させたい Ex...
-
VBで実行中のEXEファイルの情報...
-
VBSで起動したアプリが前面表示...
-
Process.Startで起動したアプリ...
-
EXCEL VBAから他アプリケーショ...
-
64bitで作ったEXEを32bitで起動...
-
exeファイルを実行するとすぐに...
-
リムーバブルディスクのフォー...
-
VB6で呼び出し元の情報を取得す...
-
VBAでIEが起動しているか...
-
フォームの最前面が効かない
-
VBAでSeleniumからChromeを起動...
-
エクセル起動時別プロセスで開く
-
VBSでExcelのUserFormをエクス...
-
ACCESS VBAで別のACCESS(mdb)を...
-
別アプリの起動、終了について
おすすめ情報