他のアプリを検出して 落しちゃおう!!

他のアプリを検出するサンプルに、ついでに落しちゃう(^^;) サンプルです。


'===========================================================================
'    ファイル名    : 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

    


サンプル FDWindow.lzh