vb lee/escribe el valor hexadecimal en la ruta especificada en el registro
Opción explícita
Opción Comparar texto 'Las comparaciones de cadenas que declaran "AAA" igual a "aaa" son Indistinguibles mayúsculas y minúsculas.
Función de declaración privada RegCreateKeyamp; Lib "advapi32.DLL" Alias "RegCreateKeyA" (ByVal hKeyamp;, ByVal lpszSubKey$, lphKeyamp;)
Función de declaración privada RegSetValueamp " advapi32 "alias "RegSetValueA" (ByVal hKeyamp;, ByVal lpszSubKey$, ByVal fdwTypeamp;, ByVal fdwTypeamp;, ByVal fdwTypeamp;, ByVal fdwTypeamp;, ByVal fdwTypeamp;).
ByVal lpszValue$, ByVal dwLengthamp;)
Const privada ERROR_SUCCESS = 0 amperios;
Const privada ERROR_BADDB = 1 amperio;
Const privada ERROR_BADKEY = 2 amperios;
Const privada ERROR_CANTWRITE = 3 amperios;
Const privada ERROR_CANTREAD = 4 amperios;
Const privada ERROR_CANTWRITE = 5 amperios;
Const privada ERROR_OUTOFMEMORY = 6 amperios; /p>
Const privada ERROR_INVALID_PARAMETER = 7&
Const privada ERROR_ACCESS_DENIED = 8& = 256amp;
Const privada REG_SZ = 1
NumParas privados como Entero
'Este ejemplo es cortesía de VB Programming Land
' Por VBEden
'------- ------------------------- - ----
'Subrutina: Configurar archivos (*.EDN) relacionados con tu programa
'------------- -----------------------
Private Sub Mod_Related_EDNFile()
En caso de error, Ir a RelatedFail
'Declarar variables
Dim sKeyName As String, sKeyValue As String, sKeyValueIcon As String p>
Dim Ret como entero, lphKey como largo
sKeyName = "ednFiles "
sKeyValue = "Mis programas"
Ret = RegCreateKeyamp; HKEY_CLASSES_ROOT, sKeyName, lphKey)
Ret = RegSetValueamp; (lphKeyamp;, "", REG_SZ, sKeyValue, 0amp;)
sKeyName = ".EDN"
sKeyValue = "ednFiles"
Ret = RegCreateKeyamp; (HKEY_CLASSES_ROOT, sKeyName, lphKey)
Ret = RegCreateKeyamp; (HKEY_CLASSES_ROOT, sKeyName) & (HKEY_CL
ASSES_ROOT, sKeyName, lphKey)
Ret = RegSetValueamp; (lphKeyamp;, "", REG_SZ, sKeyValue, 0amp;)
sKeyName = " ednFiles"
sKeyValue = """" amp; App.Path amp; IIf(Len(App.Path) gt; 3, "\" amp; "ednFiles.exe", "ednFiles.Path) gt; 3, "\" amp; "ednFiles.exe", "ednFiles.exe") amp ", 1"
Ret = RegCreateKeyamp (HKEY_CLASSES_ROOT, sKeyName, lphKey)
Ret = RegSetValueamp; , "DefaultIcon", REG_SZ, sKeyValueIcon, MAX_PATH)
Ret = RegSetValueamp; (lphKeyamp;, "Shell\Open\Command", REG_SZ, sKeyValue, MAX_PATH)
MsgBox "Configuración ¡Archivo asociado (*.EDN) exitoso! Archivo EDN", vbInformation
Salir de Sub
RelatedFail:
MsgBox Err.Description, vbCritical: End
End Sub
Subcomando privado1_Click()
Mod_Related_EDNFile
Fin Sub
'---------------- --
'Función: Leer línea de comando
'------------------'
Público Function_GetCommandLine(MaxArgs opcional)
Dim C, CmdLine como cadena
Dim CmdLnLen como entero, iNum como entero, Dim CmdLnLen como entero, iNum como entero, NumArgs como entero
Dim InArg As Boolean
Si IsMissing(MaxArgs) Entonces MaxArgs = 10
ReDim ArgArray(MaxArgs)
NumArgs= 0
InArg = False
CmdLine = Command()
CmdLnLen = Len(CmdLine)
Para iNum = 1 a CmdLnLen
C = Mid(CmdLine, iNum, 1)
Si (C lt; gt. "" And C lt; gt; vbTab) Entonces
Si no es InArg Entonces
Si NumArgs =
MaxArgs luego sale para
NumArgs = NumArgs 1
InArg = True
Fin
ArgArray(NumArgs) = ArgArray(NumArgs) C
Else
InArg = False
Finalizar si
Siguiente iNum
ReDim Preserve ArgArray(NumArgs)
Fun_GetCommandLine = ArgArray()
NumParas = NumArgs
Función final
'---------- - ------------
'Función: Leer la ruta del archivo o los parámetros
'------------ --- ----------
Función pública Fun_GetEDNFile() As String
'
'Usar parámetros de línea de comando
''
Dim iNum As Integer
Dim Para_Name
'****************** *** *************
'Función: Leer cadena de línea de comando
Para_Name = Fun_ GetCommandLine()
'** ********************************
Para iNum = 1 Para NumParas
Si Para_Name(iNum) = "/?"Entonces
MsgBox "Opciones de línea de comando:" amp; Chr(13) amp; /?Ayuda de opción de línea de comando." amp; Chr(13) amp; "/relate establece el archivo URL favorito que se asociará (*.EDN)". , vbInformation
Fin
ElseIf Para_Name(iNum) = "/relate" Entonces
'************** *******************
'Subrutina: Establecer archivos asociados (*.edn).
Mod_Related_EDNFile
'******************************
Finalizar si
'************************************
'Función: Archivo de parámetros(*.
Fun_GetEDNFile = Para_Name(iNum)
'*************** *** *******************
'
'
'Si el archivo existe, muestra la ruta del archivo EDN
'<
If Dir(Fun_GetEDNFile, vbHidden) lt vacía Entonces
Label2.Caption = Fun_GetEDNFile; p>
Finalizar si
Siguiente iNum
Función final
Sub privado Form_Load()
Fun_GetEDNFile
Fin del subtítulo