Hay un total de 3030 Preguntas. | << >> |
Pregunta: | 41555 - MANIPULAR REGISTRO |
Autor: | Janet marquet |
Como podria manipular el registro de windows para añadir una clave en HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]?
Es para que el programa se ejecute siempre al iniciar windows. Gracias |
Respuesta: | E-Mondo . |
1ª PARTE
En un modulo pegar este código tal y como está: ' Este modulo es la forma basica de usar el registro ' de Windows, pero se puede implementar para: ' ' - Obtener valores binarios ' - Obtener un valor si la clave existe '------------------------------------------------------------- ' Formato del Editor del Registro (Regedit) ' ' Mi PC ' +__ HKEY_LOCAL_MACHINE ' +___ Software ' +___ Microsoft / ' +___ Windows | BootCount "3" ' +___ CurrentVersion --| BPC_Region "1" ' | ConfigPath "C:\WINDOWS\Config" ' \ ' ' Clave: HKEY_LOCAL_MACHINE ' Subclave: Software; Microsoft; Windows; CurrentVersion ' Entrada: BootCount; BPC_Region; ConfigPath ' Valor: "3"; "1"; "C:\WINDOWS\Config" Dim Ret As Long 'Valor de retorno para todos procedimientos Const REG_SZ = 1 ' Claves principales de Regedit (Solo lectura) Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 Public Const HKEY_PERFORMANCE_DATA = &H80000004 Public Const HKEY_CURRENT_CONFIG = &H80000005 Public Const HKEY_DYN_DATA = &H80000006 Public Const HKEY1 = &H80000000 Public Const HKEY2 = &H80000001 Public Const HKEY3 = &H80000002 Public Const HKEY4 = &H80000003 Public Const HKEY5 = &H80000004 Public Const HKEY6 = &H80000005 Public Const HKEY7 = &H80000006 'Declaraciones API para acceder al registro Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long |
Respuesta: | E-Mondo em |
He puesto parte de un codigo para manipular el registro pero no he visto que salga, asi que lo pongo entero, si se corta, mandame un mail y lo mando. Un saludo.
Copia a partir de esta linea y pega el codigo en un modulo. ' Este modulo es la forma basica de usar el registro ' de Windows, pero se puede implementar para: ' ' - Obtener valores binarios ' - Obtener un valor si la clave existe '------------------------------------------------------------- ' Formato del Editor del Registro (Regedit) ' ' Mi PC ' +__ HKEY_LOCAL_MACHINE ' +___ Software ' +___ Microsoft / ' +___ Windows | BootCount "3" ' +___ CurrentVersion --| BPC_Region "1" ' | ConfigPath "C:\WINDOWS\Config" ' \ ' ' Clave: HKEY_LOCAL_MACHINE ' Subclave: Software; Microsoft; Windows; CurrentVersion ' Entrada: BootCount; BPC_Region; ConfigPath ' Valor: "3"; "1"; "C:\WINDOWS\Config" Dim Ret As Long 'Valor de retorno para todos procedimientos Const REG_SZ = 1 ' Claves principales de Regedit (Solo lectura) Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 Public Const HKEY_PERFORMANCE_DATA = &H80000004 Public Const HKEY_CURRENT_CONFIG = &H80000005 Public Const HKEY_DYN_DATA = &H80000006 Public Const HKEY1 = &H80000000 Public Const HKEY2 = &H80000001 Public Const HKEY3 = &H80000002 Public Const HKEY4 = &H80000003 Public Const HKEY5 = &H80000004 Public Const HKEY6 = &H80000005 Public Const HKEY7 = &H80000006 'Declaraciones API para acceder al registro Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Sub SaveValueKey(hKey As Long, strPath As String, strName As String, Optional strValue As String) ' Guarda el nombre de una clave, subclave, entrada y valor. ' ' SaveValueKey HKEY_LOCAL_MACHINE, "E-Mondo", "Number Version", "2.60" '_________________________________________________________________________________ ' ' Guarda el nombre de una clave, subclave y entrada sin valor. ' ' SaveValueKey HKEY_LOCAL_MACHINE, "E-Mondo", "Number Version", "" '_________________________________________________________________________________ ' ' Crea una subclave dentro de una clave existente. ' ' SaveValueKey HKEY_LOCAL_MACHINE, "Software\E-Mondo", "Number Version", "2.60" '_________________________________________________________________________________ ' ' Crea una subclave dentro de la clave (En el ejemplo se crea con valor). ' ' SaveValueKey HKEY_LOCAL_MACHINE, "E-Mondo\Help", "HelpPath", "C:\E-Mondo\Help" '_________________________________________________________________________________ ' ' Crea una clave con valor en la entrada denominada "(Predeterminado)". ' ' SaveValueKey HKEY_LOCAL_MACHINE, "E-Mondo", "", "Modulo VB" ' SaveValueKey HKEY_LOCAL_MACHINE, "E-Mondo\Help", "", "Modulo VB" '_________________________________________________________________________________ RegCreateKey hKey, strPath, Ret RegSetValueEx Ret, strName, 0, REG_SZ, ByVal strValue, Len(strValue) RegCloseKey Ret End Sub Public Sub DelValueKey(hKey As Long, strPath As String, strName As String) ' Elimina el valor de una entrada o nombre de la clave. ' Con esto se consigue que el valor sea una cadena vacia. ' ' DelValueKey HKEY_LOCAL_MACHINE, "E-Mondo", "Number Version" '_________________________________________________________________________________ RegCreateKey hKey, strPath, Ret RegDeleteValue Ret, strName RegCloseKey Ret End Sub Public Sub DelKey(hKey As Long, hSubKey As String) ' Elimina un subclave de una clave (con todos los valores incluidos). ' ' DelKey HKEY_LOCAL_MACHINE, "E-Mondo\Help" '_________________________________________________________________________________ ' ' Elimina una clave (y todas las subclaves y valores que contenga). ' ' DelKey HKEY_LOCAL_MACHINE, "E-Mondo" '_________________________________________________________________________________ RegCreateKey hKey, strPath, Ret RegDeleteKey Ret, hSubKey RegCloseKey Ret End Sub Public Function GetValueKey(hKey As Long, strPath As String, strName As String) As Variant ' Obtiene el valor de una entrada de una clave. (Modo de uso). ' ' Dim Variable As String ' Variable = GetValueKey(HKEY_LOCAL_MACHINE, "E-Mondo", "Number Version") ' ' [Variable contendria: "2.60"] '_________________________________________________________________________________ ' ' Obtener el valor de una entrada de una subclave de otra subclave. ' ' Dim Variable As String ' Variable = GetValueKey(HKEY_LOCAL_MACHINE, "E-Mondo\Help", "HelpPath") ' ' [Variable contendria: "C:\E-Mondo\Help"] '_________________________________________________________________________________ ' ' Todas las claves tienen un valor por defecto identificado como: (Predeterminado), ' pero es posible que no tenga valor y viene dado como: (valor no establecido) ' Pero en ocasiones si tienen valor, pero no se puede dirigir a él ' como si fuera una entrada de clave normal. ' ' Para obtener dicho valor escribir lo siguiente: ' ' Dim Variable As String ' Variable = GetValueKey(HKEY_LOCAL_MACHINE, "Clave", "") ' ' Poniendo "", recoge el valor que tenga (Predeterminado) de la clave, ' ya tenga o no tenga valor. '_________________________________________________________________________________ Dim strValue As String Dim lngLen As Long Dim lngType As Long Dim Key As Long Dim X As Long X = RegOpenKey(hKey, strPath, Key) strValue = Space$(256) lngLen = Len(strValue) X = RegQueryValueEx(Key, strName, 0, lngType, ByVal strValue, lngLen) If X = 0 And lngType = REG_SZ And lngLen > 1 Then strValue = Left$(strValue, lngLen - 1) Else strValue = "" End If GetValueKey = strValue X = RegCloseKey(Key) End Function |
Pregunta: | 41567 - IMPRIMIR EN FORMATO PDF |
Autor: | Mauricio Marroquin |
Genero un documento .doc y quiero imprimir este en formato PDF, sin que se muestre ningun cuadro de sistema pidiendo nombre para el archivo o algo similar. |
Respuesta: | toni rodado |
Revisa la aplicacion PDFCreator el codigo fuente esta disponible en la pagina de la aplicacion. |
Pregunta: | 41609 - ERROR AL UTILIZAR FUNCIÓN DE DLL |
Autor: | Juan Carlos Cordon Escudero |
Buenas, mi problema es el siguiente. Tengo un programa realizado en VB6, el cual necesita utilizar una DLL externa (realizada en Visual C++), pero unas veces me da problemas de utilización y otras me saca fuera de VB6, a la función en concreto que tengo que llamar le mando los parámetros correctos. Además tengo la DLL registrada correctamente, la tengo añadida a Proyecto/Referencias, la tengo declarada en el modulo.bas (he probado con Public Declare Function y con Declare Function) y sigo sin poder utilizarla correctamente. Agradecería toda ayuda.
|
Respuesta: | Rodolfo Solano |
Hola Juan Carlos.
Yo he trabajado con VB6.0 y he realizado llamados a dll`s que he desarrollado y en la mayoria de los problemas que me encontre, es en el tipo de declaraciones, mas concretamente con aquellos donde se manejen numeracion. Por ejemplo si utilizas una variable numerica y la declaras entera y la dll la tiene declara de otra forma esto te causara problemas y enviara un mensaje de que encontro algun error en la memoria y se cerrara. El problema radica en la interpretacion de cada uno de los procesadores y compiladores que se esten utilizando. Mi sugerencia es que verifiques como los declaras y que de esa misma forma se encuentre declarado igual tanto en el programa como en la dll. Espero que mis comentarios te ayuden a solucionar tu problema. Saludos |
Pregunta: | 41703 - HACER UN ZOOM EN MODO DE EJECUCION |
Autor: | Mauricio Soto |
Hola, antes que nada les cuento el programa(Visual Basic 5.0 ó 6.0): se trata de unos valores que estan en un MSFlexgrid(2 columnas) y despues los grafico con la instruccion Pset en un eje de coordenadas X e Y(lo cual no hay problema) la complicacion es que quisiera hacerle un zoom (a eleccion del usuario) a esta nube de puntos con el puntero del raton en modo de ejecucion........bueno esa es mi inquietud..............se lo agradeceria enormemente si me ayudaran!....... chao |
Respuesta: | Carlos Ortega |
Hice un programa de gráficos que también hacia zooms definidos por el usuario. No se si te servirán mis soluciones, pero le encontré dos.
La primera, fué usar la instruccion point (esta instrucción, usa la sintaxis contenedor.point (X,Y) y te devuelve el color del píxel de la posición X,Y. Lo que hice, fué cojer un cuadrado de LxL y en un picture externo, con la instrucción Pset, ir poniendo los píxels recibidos pero ampliandolos en factor 5, es decir, por cada píxel, en el picture, se dibujaba un cuadrado de 5x5 píxels del mismo color. La pega es que no quedaba muy bien por eso de la distorsión de píxels. La segunda y definitiva, fué cojer el cuadrado de LxL y convertirlo en un nuevo gráfico, es decir, si antes mi gráfico iba desde -X hasta X y desde Y hasta -Y con una escala de 1, ahora, recalculaba un pequeño gráfico en que empezaba en el punto C,D y acababa en C+L,D+L y dibujaba el gráfico dentro con una escala de Z (definida por el usuario). De esta manera, el gráfico quedaba perfectamente definido y el zoom era mucho más exacto. Si quieres, te puedo enviar una copia del programa para que veas por ti mismo como queda esta segunda ampliación. chao! |
Pregunta: | 41706 - COMPRIMIR CON CONTRASEÑA |
Autor: | Jerry Falcon |
Hola a todos.
He agregado a un programa la opcion de comprimir / descomprimir utilizando los componentes azip32.dll y aunzip32.dll, pero no se como crear un archivo zip con contraseña. o como descomprimir un archivo zip que tiene contraseña. Si tienen algun componente que haga esto les agradeceria mucho la informacion que me den. De antemano Gracias. Jerry Falcon |
Respuesta: | john malcolm sanchez |
primero, para poder usar contraseñas propias, las librerias deben estar registradas, si lo estan, usando las funciones encrypt y decrypt puedes utilizar contraseña |
Pregunta: | 41712 - TOOL TIP TEXT DE MÁS DE UNA LINEA |
Autor: | Felipe |
Como hacer que un tool tip text tenga mas de una linea hacia abajo. |
Respuesta: | Milton Hans Galarce |
La mejor forma es que tu lo hagas con un Label.
Lo manejas invisible y dependiendo en donde lo quieras poner, te manejas con el evento Mouse_Move y lo haces visible. La gran ventaja que tiene es que puedes tener varias lineas hacia abajo y para que sea igual a Tool Tip, le pones el BackColor Amarillo. |
Pregunta: | 41732 - VACIAR PORTAPAPELES OFFICE XP |
Autor: | Jesus Pardo chacon |
Buenas tardes: me pueden auydar acrear una macro excel para que vacie el portapapeles de office.
de antemano muchas gracias |
Respuesta: | eider mauricio aristizabal erazo |
depronto esto te sirva de algo...
prueba utilizando noting Ejemplo de los métodos Paste, PutInClipboard y SetText El siguiente ejemplo demuestra el movimiento de datos de un control TextBox a un objeto DataObject, de un objeto DataObject al Portapapeles y del Portapapeles a otro control TextBox. El método PutInClipboard transfiere los datos del objeto DataObject al Portapapeles. Se utilizan también los métodos SetText y Paste. Para utilizar este ejemplo, copie este código de ejemplo en la parte Declaraciones de un formulario. Asegúrese de que el formulario contiene: Dos controles TextBox llamados TextBox1 y TextBox2. Un control CommandButton llamado CommandButton1. Dim MyData As DataObject Private Sub CommandButton1_Click() Set MyData = New DataObject MyData.SetText TextBox1.Text MyData.PutInClipboard TextBox2.Paste End Sub Private Sub UserForm_Initialize() TextBox1.Text = "Move this data to a " _ & "DataObject, to the Clipboard, then to " _ & "TextBox2!" End Sub |
Respuesta: | Cecilia Colalongo |
Fijate con ésto:
Const SHERB_NOCONFIRMATION = &H1 Const SHERB_NOPROGRESSUI = &H2 Const SHERB_NOSOUND = &H4 Private Type ULARGE_INTEGER LowPart As Long HighPart As Long End Type Private Type SHQUERYRBINFO cbSize As Long i64Size As ULARGE_INTEGER i64NumItems As ULARGE_INTEGER End Type Private Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" (ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long Private Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Long Private Declare Function SHQueryRecycleBin Lib "shell32.dll" Alias "SHQueryRecycleBinA" (ByVal pszRootPath As String, pSHQueryRBInfo As SHQUERYRBINFO) As Long SHEmptyRecycleBin Me.hwnd, vbNullString, 0 SHUpdateRecycleBinIcon |
Pregunta: | 41798 - COMO REALIZAR EFECTOS DE TRANSICIONES ENTRE FORMULARIOS? |
Autor: | JHON ALEXANDER BRAVO TRUJILLO |
Por favor, me gustaria saber como podria realizar efectos de transiciones para pasar de un formulario a otro en VB5.0 ya que estoy haciendo un programa que contiene videos, animaciones, imagenes y sonidos y al cargar estos cuando se pasa de una pantalla a otra, hay un pequeño lapso de tiempo despues de que ha salido el formulario llamado para que salgan los videos o animaciones, y pienso que esto se solucionaria con un efecto de transición, mientras aparecen y se cargan los videos.
De antemano, MUCHAS GRACIAS. |
Respuesta: | Boule Mikhael Najm Bossio |
PRIMERO CARGA EL FORMULARIO Y LUEGO MUESTRALO, AQUI TIENES UN CODIGO EJEMPLO:
LOAD FRMWHATEVER ME.HIDE FRMWHATEVER.SHOW UNLOAD ME TAMBIEN TE FUNCIONA MUCHISIMO MEJOR SI CARGAS LOS OBJETOS ANTES DE MOSTRARLOS LOAD FORMULARIO LOAD FORMULARIO.OBJETO FROMULARIO.SHOW |
Pregunta: | 41936 - BORRAR DIRECTORIOS RECURSIVAMENTE (DELTREE) |
Autor: | Emiliano C |
Cómo puedo borrar directorios en forma recursiva y con búsqueda?
Ej:Tengo el siguiente arbol raiz | |___borrar | |____arc1 | |___dir2 |_____arch2 |______borrar Y quiero borrar todos los directorios "borrar" con sus contenidos. Sería como hacer un deltree, pasándole como entrada dir borrar /s /ad Gracias |
Respuesta: | Agustín Dávila |
Utiliza este procedimiento que aquí te escribo:
Private Sub Borrar_Carpeta(Ruta As String) On Error GoTo erro1 Dim a As String a = MsgBox("¿ Está seguro que desea borrar esta carpeta ?", vbQuestion + vbYesNo) If a = vbYes Then Set fs = CreateObject("Scripting.FileSystemObject") fs.deletefolder (Ruta) End If Exit Sub erro1: MsgBox Err.Description, vbCritical End Sub |
Pregunta: | 41941 - ENLAZAR DB SQL 7 A UN DATAENVIRONMENT EN TIEMPO DE EJECUCIÓN |
Autor: | Luis Muro |
Tengo un problema con el DataEnvironment, al crear mis reportes. El problema radica en que mi base de datos de SQL 7.0 no está pre definida, es decir que ésta depende de la elección que se haga en mi sistema. Tengo 6 bases de datos (de diferentes empresas), pero con la misma estructura (mismas tablas, procedimientos almacenados, vistas, etc...) así como las mismas plantillas de reportes. Lo único que diferencia una de otra son los registros que contienen.
Deseo poder enlazar la base de datos de SQL al DataEnvironment en tiempo de ejecución. Espero obtener ayuda de ustedes. Gracias. |
Respuesta: | Alí Díaz |
Suponga que:
- "DataE" es el nombre del DataEnvironment - ruta es la ruta de la base de datos y debe ir entre comillas dobles Unload DataE DataE.Connections(1).Open ("ruta") Listo; ojalá le sirva. |
|< << 240 241 242 243 244 245 246 247 248 249 250 >> >| |