我想在程序运行时判断一下系统有无与PDF文件相关联的程序,如果有就打开PDF文件,没有就出现提示。我是用下面的方法打开PDF文件的:
'*************************************************************
'为调用API函数代开PDF文件而作的声明
'**************************************************************
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-----------------------------------------------------------------------------
Private Sub cmd_full_Click()
'打开文件
ShellExecute 0, "open", strPath, vbNullString, vbNullString, 3
End Sub
------------------------------------------------------------------
但是这样的话,如果系统没有与PDF相关联的程序系统就会没有任何的反应。不知道该怎么办,求教高手
'*************************************************************
'为调用API函数代开PDF文件而作的声明
'**************************************************************
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-----------------------------------------------------------------------------
Private Sub cmd_full_Click()
'打开文件
ShellExecute 0, "open", strPath, vbNullString, vbNullString, 3
End Sub
------------------------------------------------------------------
但是这样的话,如果系统没有与PDF相关联的程序系统就会没有任何的反应。不知道该怎么办,求教高手
Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
去判断,结果都是6,为什么?
HKEY_CLASSES_ROOT
目录下如果有".PDF"项就有关联了
HKEY_CLASSES_ROOT\.pdf\OpenWithList\AcroRd32.exe
HKEY_CLASSES_ROOT\.pdf 的默认值就是相关联的程序,但是我在VB中怎么取得
HKEY_CLASSES_ROOT\.pdf的默认值呢?
HKEY_CLASSES_ROOT\.pdf的默认值呢?