📄 assoutil.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form frmAssoUtil
Caption = "File Association Utility"
ClientHeight = 6315
ClientLeft = 1140
ClientTop = 1800
ClientWidth = 7695
Icon = "AssoUtil.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
PaletteMode = 1 'UseZOrder
ScaleHeight = 6315
ScaleWidth = 7695
Begin MSComDlg.CommonDialog CommonDialog1
Left = 4860
Top = 210
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin MSComctlLib.ListView lvwAsso
Height = 5325
Left = 60
TabIndex = 4
TabStop = 0 'False
Top = 870
Width = 7485
_ExtentX = 13203
_ExtentY = 9393
View = 3
Sorted = -1 'True
LabelWrap = -1 'True
HideSelection = -1 'True
FullRowSelect = -1 'True
GridLines = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
NumItems = 0
End
Begin VB.Frame fraAsso
Caption = "fraAsso"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 3945
Left = 210
TabIndex = 6
Top = 1140
Width = 7155
Begin VB.CheckBox cbxUpdateList
Caption = "Display updated list after completion"
Height = 195
Left = 270
TabIndex = 17
Top = 330
Value = 1 'Checked
Width = 3135
End
Begin VB.CommandButton cmdCancel
Caption = "Cancel"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3810
TabIndex = 12
TabStop = 0 'False
Top = 3360
Width = 1005
End
Begin VB.CommandButton cmdProceed
Caption = "Proceed"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2160
TabIndex = 11
TabStop = 0 'False
Top = 3360
Width = 1005
End
Begin VB.TextBox txtTitleRef
Height = 315
Left = 3390
TabIndex = 9
Top = 1110
Width = 2445
End
Begin VB.TextBox txtFileExt
Height = 315
Left = 1680
TabIndex = 8
Top = 1110
Width = 675
End
Begin VB.CommandButton cmdDialogFileSpec
Caption = "..."
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 6090
TabIndex = 7
ToolTipText = "Dialog for file spec"
Top = 2190
Width = 315
End
Begin VB.TextBox txtExecutableFileSpec
Height = 315
Left = 780
TabIndex = 10
Top = 2160
Width = 5655
End
Begin VB.Label lblExecutableFileSpec
Caption = "Path and name of executable file:"
Height = 255
Left = 810
TabIndex = 16
Top = 1890
Width = 2805
End
Begin VB.Label lblFileExt
Caption = "File Ext"
Height = 225
Left = 1680
TabIndex = 15
Top = 870
Width = 645
End
Begin VB.Label lblTitleRef
Caption = "Title Ref "
Height = 225
Left = 3450
TabIndex = 14
Top = 900
Width = 885
End
Begin VB.Label lblRemarksForTitleDelete
Caption = "(Important: Leave blank if you DO NOT wish to delete Title Ref)"
Height = 435
Left = 3390
TabIndex = 13
Top = 1500
Width = 2475
End
End
Begin VB.CommandButton cmdDelete
Caption = "Delete"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2220
TabIndex = 2
TabStop = 0 'False
Top = 90
Width = 1005
End
Begin VB.CommandButton cmdAdd
Caption = "Add"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1200
TabIndex = 1
TabStop = 0 'False
Top = 90
Width = 1005
End
Begin VB.CommandButton cmdExit
Caption = "Exit"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3240
TabIndex = 3
TabStop = 0 'False
Top = 90
Width = 1005
End
Begin VB.CommandButton cmdList
Caption = "List"
BeginProperty Font
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 180
TabIndex = 0
TabStop = 0 'False
Top = 90
Width = 1005
End
Begin VB.Label lblProgress
Caption = "In progress...."
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 270
TabIndex = 5
Top = 540
Width = 4215
End
Begin VB.Menu mnuFile
Caption = "&File"
Begin VB.Menu mnuFileExit
Caption = "&Exit"
End
End
Begin VB.Menu mnuSysTray
Caption = "&SysTray"
Begin VB.Menu mnuSysTrayIcon
Caption = "&Icon in system tray"
End
End
Begin VB.Menu mnuHelp
Caption = "&Help"
Begin VB.Menu mnuHelpHelp
Caption = "&Help"
End
End
End
Attribute VB_Name = "frmAssoUtil"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' AssoUtil.frm
'
' By Herman Liu
'
' This code enables you to list all file extensions in your machine which have
' registered file associations. The list will show what application title each
' file extension belongs to and what program execution command it is associated
' with. With this program, you can view, add and remove file associations, with
' ease and elegance.
Option Explicit
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type SecurityAttributes
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Boolean
End Type
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _
(ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" _
(ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, _
lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, _
lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
(ByVal mkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Private Declare Function RegEnumValueType Lib "advapi32.dll" Alias "RegEnumValueA" _
(ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, _
lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, _
ByVal null1 As Long, ByVal null2 As Long) As Long
Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" _
(ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, _
lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Byte, _
lpcbData As Long) As Long
Private Declare Function RegEnumValueString Lib "advapi32.dll" Alias "RegEnumValueA" _
(ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, _
lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As String, _
lpcbData As Long) As Long
Private Declare Function RegCreateKeyEx Lib "Advapi32" Alias "RegCreateKeyExA" _
(ByVal mkey As Long, ByVal szSubkey As String, ByVal lpReserved As Long, _
ByVal szClass As String, ByVal dwOptions As Long, ByVal dwDesiredAccess As Long, _
lpSecurityAttributes As SecurityAttributes, lphResult As Long, _
lpdwDisposition As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _
(ByVal mkey As Long, ByVal lpSubKey As String) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _
(ByVal mkey As Long, ByVal lpValueName As String) As Long
' --------------------------------------------------------------------------------
' Re RegSetValueEx: If you declare the lpData parameter as String, you must
' pass it By Value.
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal mkey As Long, ByVal lpValueName As String, ByVal reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
' --------------------------------------------------------------------------------
Private Declare Function RegSetValueExByte Lib "Advapi32" Alias "RegSetValueExA" _
(ByVal mkey As Long, ByVal szValuename As String, ByVal lpReserved As Long, _
ByVal dwValuetype As Long, bData As Byte, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExLong Lib "Advapi32" Alias "RegSetValueExA" _
(ByVal mkey As Long, ByVal szValuename As String, ByVal lpReserved As Long, _
ByVal dwValuetype As Long, dwData As Long, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExString Lib "Advapi32" Alias "RegSetValueExA" _
(ByVal mkey As Long, ByVal szValuename As String, ByVal lpReserved As Long, _
ByVal dwValuetype As Long, ByVal szData As String, ByVal cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const HKEY_LOCAL_MACHINE = &H80000002
' Reg key security attribute
Private Const KEY_QUERY_VALUE = &H1&
Private Const KEY_SET_VALUE = &H2&
Private Const KEY_ALL_ACCESS = &H3F
Private Const KEY_CREATE_SUBKEY = &H4&
Private Const KEY_ENUMERATE_SUBKEY = &H8&
Private Const KEY_NOTIFY = &H10&
Private Const KEY_CREATE_LINK = &H20
Private Const READ_CONTROL = &H20000
Private Const WRITE_OWNER = &H80000
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const STANDARD_RIGHTS_READ = READ_CONTROL
Private Const STANDARD_RIGHTS_WRITE = READ_CONTROL
Private Const STANDARD_RIGHTS_EXECUTE = READ_CONTROL
Private Const KEY_READ = STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or _
KEY_ENUMERATE_SUBKEY Or KEY_NOTIFY
Private Const KEY_WRITE = STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUBKEY
' Data types
Private Const REG_NONE = 0
Private Const REG_SZ = 1 ' Unicode null terminated string
Private Const REG_EXPAND_SZ = 2
Private Const REG_BINARY = 3 ' Binary
Private Const REG_DWORD = 4 ' 32-bit number
Private Const REG_DWORD_LITTLE_ENDIAN = 4
Private Const REG_DWORD_BIG_ENDIAN = 5
Private Const REG_LINK = 6
Private Const REG_MULTI_SZ = 7
Private Const REG_RESOURCE_LIST = 8
Private Const REG_FULL_RESOURCE_DESCRIPTOR = 9
Private Const REG_RESOURCE_REQUIREMENTS_LIST = 10
Private Const OPTION_NON_VOLATILE = &H0 ' Info is stored in a file and is preserved
Private Const MainKey = HKEY_LOCAL_MACHINE
Private Const SubKey = "SOFTWARE\Classes"
Private Const ShellSubKey = "Shell\Open\Command"
Dim mLVIndex As Integer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -