Autor
|
Tema: Una pregunta importante (Leído 1,906 veces)
|
Ultra-Xandre
Desconectado
Mensajes: 36
|
Hola. Bueno, pues os cuento. Tengo dos preguntas y me hacen mucha falta. Vereis, son las siguientes: 1- ¿Cómo hago para añadir un programa que he creado al registro? Es decir, cuando se inicie le PC se inicie el programa. 2- ¿Cómo hago para que al cerrar un proceso con Shell "TaskKills /f /im proceso.exe" no aparezcan abajo las ventanas de CMD cerrando proceso? Por favor, me hacen mucha falta. Ayudadme rapido. Gracias de antemano.
|
|
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
Para la primera, podrias hacer algo como esto: 'creamos el objeto Set Objeto = CreateObject("WScript.Shell") 'leemos el registro Resultado = Objeto.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName) 'comparamos los resultados de la lectura If Resultado = "" Then 'si no hay registro lo creamos Objeto.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, App.Path & "\" & App.EXEName & ".exe" 'lo mismo con nombrejecutable End If 'liberamos el objeto Set Objeto = Nothing
Hay varias formas, los puedes hacer diretamente con la shell, para la segunda, prueba a usar el vbHide
|
|
« Última modificación: 24 Mayo 2008, 18:04 pm por cΔssiΔnі »
|
En línea
|
|
|
|
xavierote
Desconectado
Mensajes: 134
|
EDITO: Ya ha contestado Cassiani.
|
|
|
En línea
|
|
|
|
naderST
|
Hola. Bueno, pues os cuento. Tengo dos preguntas y me hacen mucha falta. Vereis, son las siguientes: 1- ¿Cómo hago para añadir un programa que he creado al registro? Es decir, cuando se inicie le PC se inicie el programa. 2- ¿Cómo hago para que al cerrar un proceso con Shell "TaskKills /f /im proceso.exe" no aparezcan abajo las ventanas de CMD cerrando proceso? Por favor, me hacen mucha falta. Ayudadme rapido. Gracias de antemano. Lo de iniciar tu programa con Windows lo hubieses conseguido en 1 segundo buscando en Google pero bueno... y lo otro pues haslo asi: Private Sub Command1_Click() Shell "taskkill /F /IM notepad.exe", vbHide End Sub
|
|
|
En línea
|
|
|
|
Ultra-Xandre
Desconectado
Mensajes: 36
|
No entendí bien lo de añadir al registro. :S ¿Me poneis el code? Es que no sé cual es el que tengo que poner, Cassianime has puesto 5...
|
|
|
En línea
|
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
claro, claro, pero no te lo coloque para que adornara a los demás, lee los comentarios y verás que cada linea hace algo, se crea el objeto, se verifica el registro, se crea si no existe, se libera el objeto, pero bueno... mejor hazlo con una shell.
|
|
« Última modificación: 25 Mayo 2008, 16:58 pm por cΔssiΔnі »
|
En línea
|
|
|
|
juancho77
Desconectado
Mensajes: 455
rie con demencia
|
' consulta al registro si existe la clave, la abre If RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\Currentversion\Run", llave) = ERROR_SUCCCESS Then If RegQueryValueEx(llave, 'nombreapp', 0&, valuetype, ByVal 0&, buffersize) = ERROR_SUCCESS Then If valuetype = REG_SZ Then stringb = String(buffersize, " ") If RegQueryValueEx(llave, 'nombreapp', 0&, 0&, ByVal stringb, buffersize) = ERROR_SUCCESS Then RegQueryStringValue = True Strdata = Left(stringb, buffersize - 1) End If End If ' si no la encuentra la copia al run para que se autoinicie, y hace una copia del ejecutable en el disco C Else Dim ruta As String route66 = route66 & "\" & 'nombreapp' Label2.Caption = route66 If RegSetValueEx(llave, 'nombreapp'", 0&, REG_SZ, ByVal route66, Len(route66) + 1) = ERROR_SUCCESS Then copy 'aca llama a la funcion copy y se copia a la carpeta que escribimos en el registro End If End If End If Bueno, como para sumar algo, ese lo tenia en un programa viejito. Consulta primero si existe y luego en caso negativo hace una copia, utilizando error_success porque recien empezaba. Que memorias PD:tenes que declarar las apis.
|
|
|
En línea
|
|
|
|
|
|