|
▼たつ さん:
こんにちは
横から失礼
Windows APIを使えば出来ますが、保障はしません。
(WindowsプログラムはWM_CLOSEで終了の為の色んな処理を行う作りが多いと
思うのでたぶん問題はないとは思いますが、念の為)
一応Acrobatreaderでは動きました。
ちなみに他にも方法はありますが、いずれにせよAPIでWindowハンドルを
取得してWM_CLOSEを送るのが比較的安全と思います。
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32.dll" 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
Sub t()
Dim hWnd As Long
Const sClassName As String = "AdobeAcrobat" ''アクロバット(多分持ってないので検証できない)
Const sReaderClassName As String = "AcrobatSDIWindow" 'アクロバットリーダー8
hWnd = FindWindow(sReaderClassName, vbNullString)
SendMessage hWnd, WM_CLOSE, 0&, 0&
End Sub
もし何がなんだか全く判らないのなら使用をお勧めしません。
|
|