当前位置:编程学习 > VB >>

如何用vb6.0编写一个程序能实现查看某个文件格式的打开方式

我知道是查询注册表,但过了太久了,忘记是哪个键值了,请问用vb6.0该在那个地方查询?最好用说清楚一下啊,在用代码表示,谢谢了顺便问一下ShellExecute的用法,知道了某个文件的打开方式后就可以用这个程序来打开文件,但是ShellExecute用起来总无法实现,好像只是在后台运行而已,请举个例子看看这个ShellExecute函数的用法,比如我现在要打开一个pdf文件,程序先从注册表查询该pdf文件的打开方式,然后用此方式打开,如果查不到打开方式就调用windows的打开方式询问框,如何写,请详细。谢谢。注意使用vb6.0编写!

--------------------编程问答--------------------

ShellExecute(GetDesktopWindow(),"open","文件路径","","",SW_SHOWNORMAL)
'不要忘记先声明:
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 
--------------------编程问答-------------------- 或者用这个:
call shell("cmd /c start 文件路径")
--------------------编程问答-------------------- 注册表
根键:
HKCR
项:
exefile
--------------------编程问答-------------------- 标记 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 前面几楼的,麻烦给个具体的代码,还有在那个项里查找文件的打开方式啊? --------------------编程问答-------------------- 二楼的wangmu7206这个可以用,当是仅限于xp中啊,最好能使用ShellExecute函数! --------------------编程问答-------------------- SHELLEXECUTE:
引用 1 楼 wangmu7206 的回复:
VB code
ShellExecute(GetDesktopWindow(),"open","文件路径","","",SW_SHOWNORMAL)'不要忘记先声明:Private DeclareFunction ShellExecute _
                            Lib"shell32.dll" _
                            Alias"ShellExecuteA"( _
                            ByVal hwndAsLong, _
                            ByVal lpOperationAsString, _
                            ByVal lpFileAsString, _
                            ByVal lpParametersAsString, _
                            ByVal lpDirectoryAsString, _
                            ByVal nShowCmdAsLong) _AsLong
--------------------编程问答--------------------
ShellExecute(GetDesktopWindow(),"open","文件路径","","",SW_SHOWNORMAL)
最后一个括号1楼误敲成全角的了。 --------------------编程问答-------------------- Private Declare Function GetDesktopWindow Lib "user32" () As Long
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

Private Sub Command1_Click()
ShellExecute GetDesktopWindow(), "open", "c:\a.txt", "", "", SW_SHOWNORMAL
End Sub
不行啊,打不开c盘下的a.txt,运行后在后台有notepad.exe但总是没有显示出来!
但如果我要运行的是a.mp3的话,到有千千静听运行并播放。
还有对于那些无法识别的文件,没有调用打开方式让用户选择,如何才能做到呢? --------------------编程问答-------------------- 怎么还没有人来帮忙a,各位大虾,请帮个忙吧,急着用呢 --------------------编程问答-------------------- ShellExecute GetDesktopWindow(), "open", "c:\a.txt", "", "", SW_SHOWNORMAL 
这个可以用了,一定要先定义SW_SHOWNORMAL =1
但是还有个问题就是碰到在注册表里没有记录打开方式的则没有放映啊,遇到这种情况如何是之调用打开方式让用户选择呢?
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,