|
253
|
Programación / Programación Visual Basic / Crear Api
|
en: 17 Julio 2005, 19:02 pm
|
Hola gente!
En 1 de mis proyectos(IHC), me gustaria tener 2 api's(.dll). 1 para el menu de arriba y otra para los forms que llama el menu.
La idea de esto, es dejar de distribucion libre el code de estas api's junto ocn el code del hardware pero no la del resto del programa(o mejor dicho del exe principal y sus configs.)
Me pueden dar algun tipo de info sobre como crear un api y respecto a cargarlas.
Saludos y ojala me ayuden.
|
|
|
255
|
Programación / Programación Visual Basic / Formularios e nvb(si, yo de neuvo...)
|
en: 17 Julio 2005, 16:34 pm
|
Hola gente!
La cosa es que para mis 2 proyectos, nesecito hacer un formulario para configurar un programa y eso.
pero no se como hacer para que al presional un boton, suponganse "Aplicar" comprueve los check y radios para ver si estan seleccioados y en base a eso actue. Ni tampoco que al presional un radio o check me ponga a enabled true o false un/ciertos elementos(esto da igual, puedo hacerlo con la propiedad click pero prefiero otro metodo mas profesional)
O sea, yo peudo poner que le de cierto valor a tales o cuales variables segun haga yo click. Pero no se puede por alguna propiedad, controlar si estan o no seleccionados?
Saludos y espero me ayuden.
|
|
|
257
|
Programación / Programación Visual Basic / Re: CREAR UNA ENTRADA EN EL REGISTRO
|
en: 17 Julio 2005, 02:48 am
|
Esto en un modulo:
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'constants' Public Const REG_SZ = 1 Public Const HKLM = &H80000002 ' This is really HKEY_LOCAL_MACHINE
'Globals' Dim NTOwner As String Dim KeyValue As String
Esto en otro o en el mismo: Function RegistryCreateKey(MasterKey, Key) Dim nBufferKey As Long RegCreateKey MasterKey, Key, nBufferKey End Function Function RegistryCreateSubKey(MasterKey, Key, SubKey) Dim nBufferKey As Long, nBufferSubKey As Long RegOpenKey MasterKey, Key, nBufferKey RegCreateKey nBufferKey, SubKey, nBufferSubKey End Function Function RegistryDeleteKey(MasterKey, Key) RegDeleteKey MasterKey, Key End Function Function RegistryDeleteSubKey(MasterKey, Key, SubKey) Dim nBufferKey As Long RegOpenKey MasterKey, Key, nBufferKey RegDeleteKey nBufferKey, SubKey End Function Function RegistryDeleteValue(MasterKey, Key, Value) Dim nBufferKey As Long RegOpenKey MasterKey, Key, nBufferKey RegDeleteValue nBufferKey, Value End Function Function RegistryGetNTUserName() Dim nBufferKey As Long Dim nBufferName As String nBufferName = Space(256) RegOpenKey LOCALMACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", nBufferKey RegQueryValueEx nBufferKey, "RegisteredOwner", 0, REG_SZ, nBufferName, Len(nBufferName) NTOwner = nBufferName End Function Function RegistryGetValueData(MasterKey, Key, Value) Dim nBufferKey As Long Dim nBufferDATA As String nBufferDATA = Space(256) RegOpenKey MasterKey, Key, nBufferKey RegQueryValueEx nBufferKey, Value, 0, REG_SZ, nBufferDATA, Len(nBufferDATA) KeyValue = nBufferDATA End Function Function RegistrySetValueData(MasterKey, Key, Value, ValueData) Dim nBufferKey As Long RegOpenKey MasterKey, Key, nBufferKey RegSetValueEx nBufferKey, Value, 0, REG_SZ, ValueData, Len(ValueData) End Function
En MasterKey haz de poner HKLM, en key por ejmplo: "SOFTWARE\ALGO" y buneo, lo demas es leer el code.
Las funciones RegistryGetValueData y RegistryGetNTUserName tienen un fallo y no se cual es.
Saludos
|
|
|
258
|
Programación / Programación Visual Basic / Problema leyendo el registro
|
en: 17 Julio 2005, 02:10 am
|
Hola gnete! Bueno, el problema es que cunado trato de leer el registro obteniendo un valor y ponerlo en una variable global algo anda mal. Segun mi, es la variable porque si pongo un msgbox en la funcion paraque imprima nBufferDATA, lo hace bien. Como puedo solucionarlo? Funcion: Function RegistryGetValueData(MasterKey, Key, Value) Dim nBufferKey As Long Dim nBufferDATA As String nBufferDATA = Space(256) RegOpenKey MasterKey, Key, nBufferKey RegQueryValueEx nBufferKey, Value, 0, REG_SZ, nBufferDATA, Len(nBufferDATA) KeyValue = nBufferDATA End Function Declaraciones: Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'constants' Public Const REG_SZ = 1 Public Const HKLM = &H80000002 ' This is really HKEY_LOCAL_MACHINE
'Globals' Dim NTOwner As String Dim KeyValue As String Saludos
|
|
|
259
|
Programación / Programación Visual Basic / Re: Apariencia del VB6
|
en: 17 Julio 2005, 00:35 am
|
Mira, yo en el post http://foro.elhacker.net/index.php/topic,78841.0.html , pregunte solo por los botones pero el buen xavierote, me dio un enlace para toda la aplicacion. Te explico basicamente com ose hace. Sino entra al post y mira el enlace. 1-Creas un archivo llamado Nombre_De_Tu_archivo.exe.manifest y le metes esto dentro con el notepad: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="HybridDesign.WindowsXP.Example" type="win32" /> <description>Manifest</description> <dependency><dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly> Despues, en tu aplicacion pones un modulo nuevo. Y le pones este code: Public Declare Function InitCommonControls Lib "Comctl32.dll" () As Long
Y por ultimo en todos los forms pones: Private Sub Form_Initialize() Dim X As Long X = InitCommonControls End Sub PD: el manifest debe estar en el mismo dir que el exe. Con esto, logras que tanto scrollbars, como botones , textbox, y todo l oque implica "XP" este como en el XP. Saludos
|
|
|
|
|
|
|