如何用vb6.0编写一个程序能实现查看某个文件格式的打开方式
我知道是查询注册表,但太久了,不知道是那个键值了,请问用vb6.0该在那个地方查询?最好用说清楚一下啊,在用代码表示,谢谢了顺便问一下ShellExecute的用法,知道...
我知道是查询注册表,但太久了,不知道是那个键值了,请问用vb6.0该在那个地方查询?最好用说清楚一下啊,在用代码表示,谢谢了顺便问一下ShellExecute的用法,知道了某个文件的打开方式后就可以用这个程序来打开文件,但是ShellExecute用起来总无法实现,好像只是在后台运行而已,请举个例子看看这个ShellExecute函数的用法,谢谢。注意使用vb6.0编写!
展开
2个回答
展开全部
我刚才编了一下这个程序但失败了,我知道在哪里查:[Hkey_Classes_Root\.rmvb](假设你要打开.rmvb的文件),找到“默认”这个键值(我刚才在vb里弄了很久都打不开),是一个字符串(如:“QQPlayer.rmvb”),然后找到[Hkey_Classes_Root\QQPlayer.rmvb\Shell\Open\Command]里面的默认键值就是默认打开程序了。
ShellExecute这个函数是这样用的:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
其中各个参数的意义如下:
参数 |类型 |说明
hWnd |Long |指定一个窗口的句柄(可以输Me.hWnd)
lpOperation |String|指定字符串“Open”打开或“Print”打印
lpFile |String|想用关联程序打印或打开的程序名或文件名
lpParameters|String|如lpFile是可执行程序,这里输入附加参数
lpDirectory |String|使用的完整路径
nShowCmd |Long |定义了如何显示启动程序的常数值
举例:打开一个网址(Text1.Text)
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
private sub command1_Click()
if text1.text="" then
msgbox "请输入网址",48,"Information"
else
shellexecute me.hwnd,vbnullstring,text1.text,vbnullstring,"C:\",SW_SHOWNORMAL
end if
end sub
ShellExecute这个函数是这样用的:
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
其中各个参数的意义如下:
参数 |类型 |说明
hWnd |Long |指定一个窗口的句柄(可以输Me.hWnd)
lpOperation |String|指定字符串“Open”打开或“Print”打印
lpFile |String|想用关联程序打印或打开的程序名或文件名
lpParameters|String|如lpFile是可执行程序,这里输入附加参数
lpDirectory |String|使用的完整路径
nShowCmd |Long |定义了如何显示启动程序的常数值
举例:打开一个网址(Text1.Text)
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
private sub command1_Click()
if text1.text="" then
msgbox "请输入网址",48,"Information"
else
shellexecute me.hwnd,vbnullstring,text1.text,vbnullstring,"C:\",SW_SHOWNORMAL
end if
end sub
参考资料: 《Visual Basic函数参考大全》
2009-08-08
展开全部
不用吧可以直接加上一个通用对话框吧
然后在用 通用对话框的名称.action=1
就可弹出打开对话框的
本人才是短浅如有说错请多多包涵
然后在用 通用对话框的名称.action=1
就可弹出打开对话框的
本人才是短浅如有说错请多多包涵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询