[VB6 ] 控制外部程式開啟檔案的方法?
※ [本文轉錄自 Visual_Basic 看板]
作者: SNG () 看板: Visual_Basic
標題: [VB6 ] 控制外部程式開啟檔案的方法?
時間: Sat Jan 30 15:43:08 2010
請問版友
該如何控制外部程式 開啟檔案呢?
(不用shell加參數)
例如以 Notepad 為例子
Private Declare Function GetMenu Lib "user32.dll" (ByVal hWnd As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetMenuItemID Lib "user32.dll" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetSubMenu Lib "user32.dll" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Const WM_COMMAND As Long = &H111
Private Sub Command1_Click()
Dim hWnd As Long, hMenu As Long, MenuID As Long
hWnd = FindWindow(vbNullString, "未命名 - 記事本")
If hWnd <> 0 Then
hMenu = GetMenu(hWnd)
hMenu = GetSubMenu(hMenu, 0)
MenuID = GetMenuItemID(hMenu, 1)
SendMessage hWnd, WM_COMMAND, MenuID, ByVal 0
Else
Shell "notepad", vbNormalFocus
End If
End Sub
目前遇到的問題是有成功呼叫出 開啟舊檔的對話視窗 (CommonDialog)
但是接下來就卡住了,可以請版友提供一下建議嗎?
--
★小天使 在平行的世界中,兩顆心跳是最遠的距離。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.122.248.195
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.122.248.195
推
01/31 20:15, , 1F
01/31 20:15, 1F
→
01/31 20:15, , 2F
01/31 20:15, 2F
→
01/31 20:16, , 3F
01/31 20:16, 3F
→
01/31 20:18, , 4F
01/31 20:18, 4F
→
01/31 20:18, , 5F
01/31 20:18, 5F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章