Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5831 / 9994 ←次へ | 前へ→

【7376】Re:他アプリケーションの操作に関して
発言  たぬき  - 06/2/23(木) 16:21 -

引用なし
パスワード
   小僧さんの書かれたようにプロセスを調べるのが普通です。

ここではもっと簡単な方法を書きます。
ただしフォームが一つでキャプションが変わらないものに限ります。

例として電卓を終了させるものを作ってみます。

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
と書きます。

予め電卓を起動させておいて、このフォームのボタンをクリックして
電卓が終了するか確かめてください。

428 hits

【7338】他アプリケーションの操作に関して 藤田と申します。 06/2/21(火) 11:18 質問
【7352】Re:他アプリケーションの操作に関して 小僧 06/2/22(水) 10:06 発言
【7358】Re:他アプリケーションの操作に関して たぬき 06/2/22(水) 15:17 回答
【7376】Re:他アプリケーションの操作に関して たぬき 06/2/23(木) 16:21 発言

5831 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free