- 締切済み
Internet Explorer(ブラウザ)の閉じるボタンを無効にする方法
あるAPからInternet Explorerを起動してウィンドウハンドルを取得し、 そのウィンドウハンドルから閉じるボタンを無効にしようとしています。 色々試してみました。 ダイアログでのテストでは、閉じるボタンを無効にできたのですが、 Internet Explorerでは、うまく動きませんでした。 Internet Explorerの閉じるボタンを無効にする事は可能なのでしょうか? ウィンドウハンドルを用いらない方法もあるのでしょうか?? 助けて下さ~い………。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
別にMFCじゃなくても出来ます。 使用している関数、コードはMFCに依存しているわけではないので、 SDKでもOKといかAPI使えれば出来ます。 ダイアログはMFCですけど、ボタン押すだけですし、 ただサンプル作るのに楽だからMFCを使っただけです。 何とかできるといいですね。 頑張ってください。
>あるAPからInternet Explorerを起動してウィンドウハンドルを取得し、 起動はどうやっているのでしょうか? 起動に際しプロセスIDが取れれば、 IEのウィンドウハンドルを取るのは簡単です。 とりあえずということで。
お礼
試してみました。 やはりMFCでなくては、難しいのですかね…。 情報ありがとうございます。
本当にIEのウィンドウハンドルが取れているなら、 Enableさえかければ出来ます。 ieWndはCWnd*型です。 CMenu *menu = ieWnd->GetSystemMenu(FALSE); menu->EnableMenuItem(SC_CLOSE, MF_GRAYED);
補足
ウィンドウハンドルが正常に取得できていません…。 IEのウィンドウハンドルの取得は可能なんですかね…??
- taseki
- ベストアンサー率66% (155/233)
IEコンポーネントじゃなくてIEを使いたいんですよね? ちょっと違うアプローチですが参考までに… HTAを使うという手はどうでしょうか。 ためしに以下のソースをコピーして「test.hta」というファイル名(拡張子に注意)で保存して、開いてみてください。 ------------------------ <HTML> <HEAD> <HTA:APPLICATION SYSMENU="no"/> <TITLE>HTA TEST</TITLE> </HEAD> <BODY> <INPUT TYPE="button" VALUE="CLOSE" onClick="window.close();"> </BODY> </HTML> ------------------------ 特定のURLを開きたいなら、これに全サイズのフレームを埋め込めばいいでしょう。 ちなみにHTAのウィンドウに指定できる属性は、コンテキストメニューの無効、文字列選択の禁止、ナビゲーション禁止、シングルインスタンス指定(多重起動させない)などなど、いろいろあります。
お礼
最小化・最大化のボタンは使いたいのですが、 調べた所、どうも出来そうにないですね…。 しかし、こんな事が出来るなんてビックリしました。 大変勉強になりました。 今度、使わせて頂きます。ありがとうございます。
お礼
そーですか。ありがとうございます。 これから、試してみますね。 本当にありがとうございました。