'===========================================================================
' ファイル名 : basFunctions.bas
' ファイル説明 : 他のアプリを検出し、落しちゃうサンプル
' 作成者 : Uz
' E-Mail : uz@violet.plala.or.jp
' HomePage : http://www1.plala.or.jp/uz/
' 作成日 : 1998/05/05 (Tue)
' 修正日 : 1998/05/05 (Tue)
' 備考 : なし
'===========================================================================
Option Explicit
' -- API 定数宣言
Public Const WM_DESTROY = &H2
' -- API 関数宣言
Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any _
) As Long
Declare Function GetLastError Lib "kernel32" () As Long
'===========================================================================
' ファイル名 : frmMain.frm
' ファイル説明 : 他のアプリを落とすサンプル
' 作成者 : Uz
' E-Mail : uz@violet.plala.or.jp
' HomePage : http://www1.plala.or.jp/uz/
' 作成日 : 1998/05/05 (Tue)
' 修正日 : 1998/05/05 (Tue)
' 備考 : なし
'===========================================================================
Option Explicit
Private Sub cmdRun_Click()
Dim lngApiRtn As Long
Dim lnghWnd As Long
lnghWnd = FindWindow("OpusApp", vbNullString) 'Word95 の クラス名(OpusApp)で ウィンドウハンドルを取得
If lnghWnd = 0 Then
'見つからなかった場合以後の処理を行わない
Exit Sub
End If
'終了のメッセージを取得したウィンドウハンドルになげる
lngApiRtn = SendMessage(lnghWnd, WM_DESTROY, 0&, 0&)
If lngApiRtn = 0 Then
'エラーが発生した時
lngApiRtn = GetLastError&
Call MsgBox("エラー:" & lngApiRtn)
End If
End Sub
|