Ver Mensaje Individual
  #2  
Antiguo 27-12-2004
barrauda barrauda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Balcarce - Buenos Aires
Posts: 42
Reputación: 0
barrauda Va por buen camino
aca te envío algo

Hola, no soy muy experto en este tema pero te envío un código que me sirvió mucho para apagar máquinas con Xp, no lo probé en 2000 pero puede ser que funcione.
Código:
function ShutDownWindows(Flag: word): Boolean;
 //Función que permite apagar la computadora
 var
   TokenPriv: TTokenPrivileges;
   H: DWord;
   HToken: THandle;
 begin
   if Win32Platform = VER_PLATFORM_WIN32_NT then
 begin
       OpenProcessToken(GetCurrentProcess,
           TOKEN_ADJUST_PRIVILEGES,HToken);
       LookUpPrivilegeValue(NIL, 'SeShutdownPrivilege',
           TokenPriv.Privileges[0].Luid);
       TokenPriv.PrivilegeCount := 1;
       TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
       H := 0;
       AdjustTokenPrivileges(HToken, FALSE,
          TokenPriv, 0, PTokenPrivileges(NIL)^, H);
       CloseHandle(HToken);
     end;
   Result := ExitWindowsEx(Flag, 0);
end;
y para llamarlo tenés que escribir en la línea de código de algún botón (o lo que quieras) lo siguiente:


ShutDownWindows(EWX_POWEROFF);

Espero que te sirva, como te dije, yo lo uso siempre con máquinas con XP así que creo que te va a funcionar.
Nos vemos
Responder Con Cita