Bueno, la idea que adwind propuso aquí la he llevado a cabo en VBS. La idea es la siguiente, Bindeamos un ejecutable principal y el VBS, que es el que se encarga de ejecutar el exe principal (con manifest) pidiendo privilegios, y si no se conceden, lo vuelve a ejecutar hasta que se le concedan los privilegios (o se cierre el proceso del script).

Código: Seleccionar todo

On error resume next

Dim oShell

Set oShell = Wscript.CreateObject("WScript.Shell")

Do

Err.Clear

oShell.Run "regedit.exe",1,1

loop While Err.Number = -2147023673
Adaptarlo a VB6 no precisa prácticamente de ningún cambio, y se puede mejorar mucho más en este lenguaje.
Sólo lo he probado en Vista, es posible que el número del error devuelto cambie en Seven, hay que probarlo.

Saludos!!
github.com/Slek-Z
Slek escribió:lo vuelve a ejecutar hasta que se le concedan los privilegios (o se cierre el proceso del script).

Código: Seleccionar todo

On error resume next

Dim oShell

Set oShell = Wscript.CreateObject("WScript.Shell")

Do

Err.Clear

oShell.Run "regedit.exe",1,1

loop While Err.Number = -2147023673
Adaptarlo a VB6 no precisa prácticamente de ningún cambio, y se puede mejorar mucho más en este lenguaje.
Sólo lo he probado en Vista, es posible que el número del error devuelto cambie en Seven, hay que probarlo.

Saludos!!

Y si se le implementa el bloqueo de proceso XD para que no lo terminen XD
Slek como siempre Felicidades! Creo que es el incio de una gran idea al igual que adwind!
1337 & culture!
y como se deberia compliar ? el q seria regedit.exe deberia ser lo q quiero q ejecute ,,pero q deben estar en lo misma carpeta?
Claro, en vez de regedit.exe pones la ruta del ejecutable que quieras (C:\shit\server.exe), y si están (el vbs y el exe) en la misma carpeta, basta con poner únicamente el nombre del archivos (server.exe)

P.D: Es vbs, no necesita compilarse (puse también VB6 porque es muy fácil de implementarlo en ese otro lenguaje)

Saludos!
github.com/Slek-Z
Nadie lo ha implementado? ¡Qué vagos sois cabronees! xD Bueno, quería informarles que lo he probado también en w7, y se puede generalizar un poco, poniendo en vez de loop While Err.Number = .... poner simplemente loop Until Err.Number = 0
Sólo pasaba para deciros eso, y que como sois unos vagos, mañana subiré este código funcionando, listo para implementar, a ver si consigo hacer un vídeo para mostraros los alcances que puede llegar a tener :P Seguramente lo subiré en manuales y tutoriales, ya editaré con el link,

Un saludo, perras!! xD
github.com/Slek-Z
Responder

Volver a “Fuentes”