掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DllFormをVBアプリから閉じる (ID:91271)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆さんこんにちは 只今DllForm(Delphi)をVB6.0アプリから表示させていますが、あるタイミングでDllFormをVBアプリから終了(閉じる)しようとしています。 色々参考にさせて頂いて・・・ ’-------------------------------------------------モジュール Public dllFormHnd As Long 'DllFormのWindハンドル ’DllFormを表示させる:戻り値は表示したWindowのハンドル Public Declare Function DllTestOpenFrm Lib "DllForm.dll" (ByVal intCode As Long) As Long 'IsWindowの関数呼び出し Public Declare Function IsWindow Lib "user32" (ByVal hwnd As Long) As Long 'SendMessage関数の呼び出し Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Long) As Long ' システムコマンドを指定するメッセージ Public Const WM_SYSCOMMAND = &H112 ' ウィンドウをクローズするメッセージ Public Const SC_CLOSE = &HF060 ’-------------------------Formで実際の処理 ’{DllFormの表示} Private Sub Command2_Click() If IsWindow(dllFormHnd) = 0 Then ’二重呼び出し防止 dllFormHnd = DllTestOpenFrm(9) End If End Sub ’{DllFormを閉じる} Private Sub Command3_Click() Dim Ret As Long If IsWindow(dllFormHnd) <> 0 Then’DllFormは存在するか? MsgBox ("DllFormは表示してる")’Test(確認のため) Ret = SendMessage(dllFormHnd, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&) Else MsgBox ("DllFormは表示してない") End If End Sub としましたが、DllFormは認識してるようですが何故か閉じません。 ちなみに、他を参考に Private Sub Command4_Click() Dim Ret As Long ' 自ウィンドウにウィンドウクローズのメッセージを送信 Ret = SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&) End Sub は、有効でした。 Dllを作成した言語で作成した別のアプリから同様の処理でSendMessageを発行すると閉じます。 DllFormを扱う上で、VB特有で何かあるのでしょうか? 記述自体は間違ってないと思うのですが・・・何か違うのかな? よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.