elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Una pregunta importante
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Una pregunta importante  (Leído 1,902 veces)
Ultra-Xandre

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Una pregunta importante
« en: 24 Mayo 2008, 17:43 pm »

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 Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Una pregunta importante
« Respuesta #1 en: 24 Mayo 2008, 18:00 pm »

Para la primera, podrias hacer algo como esto:

Código
  1.  'creamos el objeto
  2.    Set Objeto = CreateObject("WScript.Shell")
  3.  
  4.    'leemos el registro
  5.    Resultado = Objeto.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName)
  6.  
  7.  
  8. 'comparamos los resultados de la lectura
  9.    If Resultado = "" Then
  10.        'si no hay registro lo creamos
  11.        Objeto.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" & App.EXEName, App.Path & "\" & App.EXEName & ".exe" 'lo mismo con nombrejecutable
  12.    End If
  13.  
  14.    'liberamos el objeto
  15.    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 Desconectado

Mensajes: 134


Ver Perfil
Re: Una pregunta importante
« Respuesta #2 en: 24 Mayo 2008, 18:04 pm »

EDITO: Ya ha contestado Cassiani.
En línea

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Una pregunta importante
« Respuesta #3 en: 24 Mayo 2008, 20:09 pm »

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:

Código:
Private Sub Command1_Click()
    Shell "taskkill /F /IM notepad.exe", vbHide
End Sub
En línea

Ultra-Xandre

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Una pregunta importante
« Respuesta #4 en: 24 Mayo 2008, 21:22 pm »

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

naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Una pregunta importante
« Respuesta #5 en: 24 Mayo 2008, 21:41 pm »

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...

 :¬¬ http://www.recursosvisualbasic.com.ar/htm/listado-api/155-registrar-programa-para-iniciar-con-windows.htm
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Una pregunta importante
« Respuesta #6 en: 25 Mayo 2008, 00:56 am »

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 Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Una pregunta importante
« Respuesta #7 en: 25 Mayo 2008, 16:55 pm »

Código:
' 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  :P

PD:tenes que declarar las apis.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Quizás la pregunta más importante que he hecho aquí
Desarrollo Web
RevolucionVegana 3 2,204 Último mensaje 15 Enero 2016, 18:10 pm
por linkerwars
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines