regfiletype.bas

来自「OpenPlayer代码」· BAS 代码 · 共 76 行

BAS
76 行
字号
Attribute VB_Name = "Module7"
Option Explicit

Public Declare Function RegCreateKey& Lib "advapi32.DLL" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpszSubKey$, lphKey&)
Public Declare Function RegSetValue& Lib "advapi32.DLL" Alias "RegSetValueA" (ByVal hKey&, ByVal lpszSubKey$, ByVal fdwType&, ByVal lpszValue$, ByVal dwLength&)

Public Const ERROR_SUCCESS = 0&
Public Const ERROR_BADDB = 1&
Public Const ERROR_BADKEY = 2&
Public Const ERROR_CANTOPEN = 3&
Public Const ERROR_CANTREAD = 4&
Public Const ERROR_CANTWRITE = 5&
Public Const ERROR_OUTOFMEMORY = 6&
Public Const ERROR_INVALID_PARAMETER = 7&
Public Const ERROR_ACCESS_DENIED = 8&
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const MAX_PATH = 256&
Public Const REG_SZ = 1

Public NumParas As Integer

'本例子是VB编程乐园 提供
'作者:VBEden
'http://www.vbeden.com

'-------------------------------------
'程序设为关联文件
'------------------------------------
Public Function Mod_Related_SWFFile(ExName As String, KeyName As String, keyValue As String)

On Error GoTo RelatedFail
    '声明变量
    Dim sKeyName As String, sKeyValue As String, sKeyValueIcon As String
    Dim Ret As Integer, lphKey As Long

    '=========================
    '注册"ShockwaveFlash.ShockwaveFlash"类型
    '=========================

    sKeyName = KeyName
    sKeyValue = keyValue
    Ret = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey)
    Ret = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)

    sKeyName = ExName
    sKeyValue = keyValue
    Ret = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey)
    Ret = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
    


    sKeyName = KeyName
    sKeyValue = """" & App.Path & IIf(Len(App.Path) > 3, "\" & App.EXEName & ".exe", App.EXEName & ".exe") & """" & " %1"
    
    '
    '设置图标(Icon)
    '
    sKeyValueIcon = App.Path & IIf(Len(App.Path) > 3, "\" & "ico\swf.ico", "ico\swf.ico")


    Ret = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey)
    Ret = RegSetValue&(lphKey&, "DefaultIcon", REG_SZ, sKeyValueIcon, MAX_PATH)
    Ret = RegSetValue&(lphKey&, "Shell\Open\Command", REG_SZ, sKeyValue, MAX_PATH)
    
    sKeyValue = """" & App.Path & IIf(Len(App.Path) > 3, "\" & "OpenPlayer.exe", "OpenPlayer.exe") & """" & " %1"
    Ret = RegSetValue&(lphKey&, "Shell\用OpenPlayer播放(&P)...\Command", REG_SZ, sKeyValue, MAX_PATH)

    Mod_Related_SWFFile = True
    Exit Function

RelatedFail:
       Mod_Related_SWFFile = False
End Function


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?