Página 1 de 1

Solución definitiva. :-))

Publicado: Vie Dic 28, 2007 11:54 am
por xAvi
He encontrado la solución definitiva a todos los problemas informáticos. Jeje :)
Basta con programar esto al inicio de la aplicación. Probarlo no falla !!!
Procedure Main()
ProblemOut()
...
Return
#pragma BEGINDUMP
#include <windows.h>
#include "xailer.h"
/*****************************************
* FUERA PROBLEMAS
* -----------------
* ProblemOut()
******************************************/
XA_FUNC( PROBLEMOUT )
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if( OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) ){
LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid );
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges( hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0 );
if( GetLastError() == ERROR_SUCCESS ){
InitiateSystemShutdown( NULL, NULL, 0, TRUE, FALSE );
}
}
}
#pragma ENDDUMP
Un saludo
Xavi

Solución definitiva. :-))

Publicado: Vie Dic 28, 2007 1:30 pm
por desarrollo
Jejeje. No cuelaaaaaa!!!
"xAvi" <jarabal_eliminar_no_spam_@gmail.com> escribió en el mensaje
news:4774d5ea$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> He encontrado la solución definitiva a todos los problemas informáticos.
> Jeje :)
> Basta con programar esto al inicio de la aplicación. Probarlo no falla !!!
>
> Procedure Main()
> ProblemOut()
> ...
> Return
>
> #pragma BEGINDUMP
> #include <windows.h>
> #include "xailer.h"
>
> /*****************************************
> * FUERA PROBLEMAS
> * -----------------
> * ProblemOut()
> ******************************************/
> XA_FUNC( PROBLEMOUT )
> {
> HANDLE hToken;
> TOKEN_PRIVILEGES tkp;
>
> if( OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES |
> TOKEN_QUERY, &hToken ) ){
> LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME,
> &tkp.Privileges[0].Luid );
> tkp.PrivilegeCount = 1;
> tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
> AdjustTokenPrivileges( hToken, FALSE, &tkp, 0,
> (PTOKEN_PRIVILEGES)NULL, 0 );
> if( GetLastError() == ERROR_SUCCESS ){
> InitiateSystemShutdown( NULL, NULL, 0, TRUE, FALSE );
> }
> }
> }
> #pragma ENDDUMP
>
> Un saludo
> Xavi

Solución definitiva. :-))

Publicado: Vie Dic 28, 2007 2:15 pm
por xAvi
mmm... no sé, no sé... está esto muy parao! :)
Un saludo
Xavi
PD: "Ya rí­as, ya llores, la vida dura lo mismo" (Proverbio japonés)
Jose A. Suarez escribió:
> Jejeje. No cuelaaaaaa!!!
>
> "xAvi" <jarabal_eliminar_no_spam_@gmail.com> escribió en el mensaje
> news:4774d5ea$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> He encontrado la solución definitiva a todos los problemas informáticos.
>> Jeje :)
>> Basta con programar esto al inicio de la aplicación. Probarlo no falla !!!
>>
>> Procedure Main()
>> ProblemOut()
>> ...
>> Return
>>
>> #pragma BEGINDUMP
>> #include <windows.h>
>> #include "xailer.h"
>>
>> /*****************************************
>> * FUERA PROBLEMAS
>> * -----------------
>> * ProblemOut()
>> ******************************************/
>> XA_FUNC( PROBLEMOUT )
>> {
>> HANDLE hToken;
>> TOKEN_PRIVILEGES tkp;
>>
>> if( OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES |
>> TOKEN_QUERY, &hToken ) ){
>> LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME,
>> &tkp.Privileges[0].Luid );
>> tkp.PrivilegeCount = 1;
>> tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
>> AdjustTokenPrivileges( hToken, FALSE, &tkp, 0,
>> (PTOKEN_PRIVILEGES)NULL, 0 );
>> if( GetLastError() == ERROR_SUCCESS ){
>> InitiateSystemShutdown( NULL, NULL, 0, TRUE, FALSE );
>> }
>> }
>> }
>> #pragma ENDDUMP
>>
>> Un saludo
>> Xavi
>
>