• 締切済み

Internet Explorer(ブラウザ)の閉じるボタンを無効にする方法

あるAPからInternet Explorerを起動してウィンドウハンドルを取得し、 そのウィンドウハンドルから閉じるボタンを無効にしようとしています。 色々試してみました。 ダイアログでのテストでは、閉じるボタンを無効にできたのですが、 Internet Explorerでは、うまく動きませんでした。 Internet Explorerの閉じるボタンを無効にする事は可能なのでしょうか? ウィンドウハンドルを用いらない方法もあるのでしょうか?? 助けて下さ~い………。

みんなの回答

noname#11722
noname#11722
回答No.4

別にMFCじゃなくても出来ます。 使用している関数、コードはMFCに依存しているわけではないので、 SDKでもOKといかAPI使えれば出来ます。 ダイアログはMFCですけど、ボタン押すだけですし、 ただサンプル作るのに楽だからMFCを使っただけです。 何とかできるといいですね。 頑張ってください。

ryu-suke
質問者

お礼

そーですか。ありがとうございます。 これから、試してみますね。 本当にありがとうございました。

noname#11722
noname#11722
回答No.3

>あるAPからInternet Explorerを起動してウィンドウハンドルを取得し、 起動はどうやっているのでしょうか? 起動に際しプロセスIDが取れれば、 IEのウィンドウハンドルを取るのは簡単です。 とりあえずということで。

ryu-suke
質問者

お礼

試してみました。 やはりMFCでなくては、難しいのですかね…。 情報ありがとうございます。

noname#11722
noname#11722
回答No.2

本当にIEのウィンドウハンドルが取れているなら、 Enableさえかければ出来ます。 ieWndはCWnd*型です。 CMenu *menu = ieWnd->GetSystemMenu(FALSE); menu->EnableMenuItem(SC_CLOSE, MF_GRAYED);

ryu-suke
質問者

補足

ウィンドウハンドルが正常に取得できていません…。 IEのウィンドウハンドルの取得は可能なんですかね…??

  • taseki
  • ベストアンサー率66% (155/233)
回答No.1

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のウィンドウに指定できる属性は、コンテキストメニューの無効、文字列選択の禁止、ナビゲーション禁止、シングルインスタンス指定(多重起動させない)などなど、いろいろあります。

ryu-suke
質問者

お礼

最小化・最大化のボタンは使いたいのですが、 調べた所、どうも出来そうにないですね…。 しかし、こんな事が出来るなんてビックリしました。 大変勉強になりました。 今度、使わせて頂きます。ありがとうございます。

関連するQ&A