OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ActiveXでIEウインドウの最小化

  • すぐに回答を!
  • 質問No.190269
  • 閲覧数854
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 78% (55/70)

ActiveXでIEウインドウの最小化をしたいのですが・・・。
たとえば、コマンドボタンを押したときにIEウインドウが閉じてVBも終了・・・。
というのは、できますでしょか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル10

ベストアンサー率 31% (47/149)

>ActiveXでIEウインドウの最小化をしたいのですが・・・。

>たとえば、コマンドボタンを押したときにIEウインドウが
>閉じてVBも終了・・・。

「たとえば」の前と後でやりたい処理が違っていますが
どういう意味でしょう?

あと、「VBも終了」というのはどういう意味でしょう?

>コマンドボタンを押したときにIEウインドウが閉じて
「ActiveX」=「ActiveXコントロール」ということで回答します。

一つの実現方法として、
ActiveXからJavaScriptを呼出して、JavaScriptで
window.close();
で実現できるかと思います。
ActiveXコントロールから直接操作できるかは調査してないので
分かりません。できそうな気もしますが。
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル4

ベストアンサー率 20% (1/5)

WINNT4(SP6)+VB5(SP3)の環境での参考例です。 「ActiveXでIEウィンドウ」の意味がよく分からなかったので(フォーム上にMicrosoft HTML Object Libraly コントロールを張っての意味ではなさそう) 一般的なShellで起動・APIで終了の処理を記述しています。とんちんかんな回答だったらすいません、API関数を使っています。 業務で製造する場合はA ...続きを読む
WINNT4(SP6)+VB5(SP3)の環境での参考例です。

「ActiveXでIEウィンドウ」の意味がよく分からなかったので(フォーム上にMicrosoft HTML Object Libraly コントロールを張っての意味ではなさそう)
一般的なShellで起動・APIで終了の処理を記述しています。とんちんかんな回答だったらすいません、API関数を使っています。

業務で製造する場合はAPI関数を禁止している場合もありますので、注意してください。最小化に関しては、確実な方法が見つからなかったので控えさせていただきました。すみません。

-------------------標準モジュール--------------------
Option Explicit

'プロセスハンドルの取得
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Public Const PROCESS_TERMINATE = &H1 'プロセス終了用
Public Const PROCESS_QUERY_INFORMATION = &H400 'プロセスIDの情報取得用(ハンドル取得用)

'プロセスの終了
Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

'オブジェクトハンドルを閉じる
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

------------------ フォームモジュール -------------------
Option Explicit

Private hProcess As Long 'プロセスハンドル

'コマンド
Private Const proc = "C:\Program Files\Plus!\Microsoft Internet\IEXPLORE.EXE www.goo.ne.jp"

'起動
Private Sub cmdOpen_Click()

hProcess = OpenProcess(PROCESS_TERMINATE, True, Shell(proc, 1))

If hProcess = 0 Then
MsgBox "異常起動"
End If

End Sub

'終了
Private Sub cmdClose_Click()

If TerminateProcess(hProcess, 0) = 0 Then
MsgBox "異常終了"
Else
Call CloseHandle(hProcess)
hProcess = 0
End If

End Sub

'VB終了時に終了
Private Sub Form_Unload(Cancel As Integer)

If hProcess <> 0 Then
Call cmdClose_Click
Call CloseHandle(hProcess)
End If

End Sub

------------------------
参考になれば、幸いです。


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ