作者chinoyan (chino)
看板Visual_Basic
标题Re: [VB6 ] 控制外部程式开启档案的方法?
时间Sun Jan 31 16:35:52 2010
※ 引述《SNG ()》之铭言:
: 请问版友
: 该如何控制外部程式 开启档案呢?
: (不用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
试一下改成 POSTMESSAGE
或者 处理 SENDMESSAGE 传回的 讯息
: Else
: Shell "notepad", vbNormalFocus
: End If
: End Sub
: 目前遇到的问题是有成功呼叫出 开启旧档的对话视窗 (CommonDialog)
: 但是接下来就卡住了,可以请版友提供一下建议吗?
--
████ █ ★ ████ █ █ █
█ █ █ █ █ █ 超 级 热 烈 欢 迎
█ ████ █ █ █ ████ █
█ █ █ █ ███★ █ █ 欢迎到嘉义版!
★███ █ █ █ █ █ █ █
讯驰电脑-路径 →
嘉义市林森西路496号 →
(05)2244-526 →
顺发斜对面
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.214.220