• 如何新增一新的檔案類型

說明

    以新增一副檔名為ho的檔案為例子

    1. 在HKEY_CLASSES_ROOT底下新增一機碼 .ho
    2. 將HKEY_CLASSES_ROOT\.ho的預設值改為Honey
    3. 在HKEY_CLASSES_ROOT底下新增一機碼 Honey
    4. 將在HKEY_CLASSES_ROOT\Honey的預設值改為 "Honey的新類型"
    5. 在HKEY_CLASSES_ROOT\Honey底下新增一機碼shell 並清除shell的預設值
    6. 在HKEY_CLASSES_ROOT\Honey\shell底下新增一機碼open並清除open的預設值
    7. 在HKEY_CLASSES_ROOT\Honey\shell\open底下新增一機碼command並將預設值改為NOTEPAD.EXE %1

    當點選副檔名為.ho的檔案 Windows就會自動用NOTEPAD.EXE開啟

程式

    Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) 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 Const SW_SHOWNORMAL = 1
    Private Const HKEY_CLASSES_ROOT = &H80000000
    Private Const MAX_PATH = 260&
    Private Const REG_SZ = 1

    Private Sub Eintrag(ByVal AppName As String, ByVal AppPath As String, ByVal AppReg As String, _
                        ByVal AppExt As String)
      Dim Result As Long, hKey As Long
        Result = RegCreateKey(HKEY_CLASSES_ROOT, AppReg, hKey&)
        Result = RegSetValue(hKey&, "", REG_SZ, AppName, 0&)
     
        Result = RegCreateKey(HKEY_CLASSES_ROOT, "." & AppExt, hKey)
        Result = RegSetValue(hKey&, "", REG_SZ, AppReg, 0&)
     
        Result = RegCreateKey(HKEY_CLASSES_ROOT, AppReg, hKey)
       
        Result = RegSetValue(hKey&, "shell\open\command", REG_SZ, _
                 AppPath & " %1", MAX_PATH)
    End Sub

    Private Sub Command1_Click()
      Call Eintrag(Text1.Text, Text2.Text, Text3.Text, Text4.Text)
    End Sub

    Private Sub Command2_Click()
    ShellExecute Me.hwnd, "open", Text5.Text, vbNullString, vbNullString, SW_SHOWNORMAL
    End Sub

    Private Sub Form_Load()
    Text5.Text = App.Path & "\Test1.ho"
    End Sub

程式下載

文件出處

    Honey

整理時間

    2003'2,3.

VB心得筆記歡迎各位的指教,如果您有任何文章或資料願意提供給我們的,請來信到VBNote

如果對本站有任何建議,歡迎來信給Honey,我們會盡快給您答覆