[ opengl @ 31.08.2005. 21:36 ] @
kako uugasiti komp pomocu koda u vb.net
[ radoica @ 31.08.2005. 21:49 ] @
Moraces da koristis Win32 funkcije da bi ovo obavio. Potrazi odgovor na http://www.pinvoke.net/ ili na http://msdn.microsoft.com/libr...nanchor/html/anch_win32com.asp
[ aXi @ 02.09.2005. 02:37 ] @
E da mi je neko rekao koliko ljudi pravi shutdown aplikacije pe nego sto sam ja napravio svoju i poceo da obracam paznju na slicne threadove ne bi mu verovao ;).

Evo ti C++ funkcija... napravi Win32 projekat, iz vb.NET projekta samo pozivas preko dllimport static funkcije:

Code:

bool MySystemShutdown()
{
   HANDLE hToken; 
   TOKEN_PRIVILEGES tkp; 
 
   // Get a token for this process. 
 
   if (!OpenProcessToken(GetCurrentProcess(),
         TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
      return( false ); 
 
   // Get the LUID for the shutdown privilege. 
 
   LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, 
        &tkp.Privileges[0].Luid); 
 
   tkp.PrivilegeCount = 1;  // one privilege to set    
   tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
 
   // Get the shutdown privilege for this process. 
 
   AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, 
        (PTOKEN_PRIVILEGES)NULL, 0); 
 
   if (GetLastError() != ERROR_SUCCESS) 
      return true;
 
   // Shut down the system and force all applications to close. 
 
   if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER | SHTDN_REASON_FLAG_PLANNED))
      return false; 

   return TRUE;
}
[ mmix @ 02.09.2005. 17:24 ] @
Kad smo vec na ovoj temi, postoji li programski nacin da se direktno posalje signal maticnoj ploci da uradi trenutni power-off (bez shutdown-a, naravno na plocama koje to dozvoljavaju). Pretpostavljam da se to radi preko ACPI-a, ali ne mogu nigde da nadjem nista konkretno na tu temu.

Ako se pitate zasto zelim uraditi tako nesto , u pitanju je intrusion detection softver kojem hocu da dodam opciju trenutnog gasenja u slucaju detektovanog napada.