|
小僧さんの書かれたようにプロセスを調べるのが普通です。
ここではもっと簡単な方法を書きます。
ただしフォームが一つでキャプションが変わらないものに限ります。
例として電卓を終了させるものを作ってみます。
1.フォームを作成してコマンドボタンを貼り付けます。
2.コマンドボタンのプロパティを開けて名前をcmd1にします。
3.AltとF11キーを同時に押してコードエディターを開きます。
4.コード部に以下のコードを書きます。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWnidowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
4.上のコンボボックスからcmd1とClickを選びます。
すると
Private Sub cmd1_DblClick(Cancel As Integer)
End Sub
のようになるのでその間に
Dim hw As Long
Dim rc As Long
hw = FindWindow(vbNullString, "電卓")
If hw <> 0 Then
rc = SendMessage(hw, WM_CLOSE, 0, 0)
End If
と書きます。
予め電卓を起動させておいて、このフォームのボタンをクリックして
電卓が終了するか確かめてください。
|
|