作者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
※ SNG:转录至看板 Programming 01/30 16:34