Выклюить компьютер???
От: B_Denis  
Дата: 01.08.02 09:54
Оценка:
Как выключить компьютер из командной строки (из батника)? Пробую команду Shutdown с разными ключами ... винда выгружается и пишет "Теперь питание компьютера можно отключить" (Windows XP pro).
Re: Выклюить компьютер???
От: &reY Украина http://www.livejournal.com/~1000turov/
Дата: 01.08.02 12:11
Оценка:
Здравствуйте B_Denis, Вы писали:

попробуй что нить в таком стиле
C:\WINNT\RUNDLL.EXE user.exe,exitwindows
Re: Выклюить компьютер???
От: jia http://falsche-jade.livejournal.com
Дата: 01.08.02 16:14
Оценка:
Здравствуйте B_Denis, Вы писали:

BD>Как выключить компьютер из командной строки (из батника)? Пробую команду Shutdown с разными ключами ... винда выгружается и пишет "Теперь питание компьютера можно отключить" (Windows XP pro).


...use prawil'no.... sistemu Wu wyklyuchili... ter' ostalos'toka komp wyklyuchit, dlya etogo aktiwirujte w BIOSe APM(AdwancedPowerManagement).....
i use puchkom budet.....

Ciao,

Kostya
--------------------------------------------
Владение русской орфографией — это как владение кунфу,
настоящие мастера не применяют его без необходимости.
Re[2]: Выклюить компьютер???
От: LA Jazz Россия  
Дата: 05.08.02 12:55
Оценка:
Здравствуйте jia, Вы писали:


jia>...use prawil'no.... sistemu Wu wyklyuchili... ter' ostalos'toka komp wyklyuchit, dlya etogo aktiwirujte w BIOSe APM(AdwancedPowerManagement).....

jia>i use puchkom budet.....

На самом деле нет — я попробовал.
Комп не выключается, а говорит "нажмите батон, чтобы вырубить",
даже если в биосе все впорядке.

Во кусок кода, который вырубает комп:

  HANDLE hToken;              // handle to process token
  TOKEN_PRIVILEGES tkp;       // pointer to token structure 
  // Get the current process token handle so we can get shutdown privilege. 
  if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
     return; 
  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)
      return; 
  
  // Вот какая-то из этих двух ф-ий выключает комп, какая-то нет
  // попробуй. Еще посмотри флаги у обоих ф-ий
  InitiateSystemShutdown(NULL, NULL, 0, TRUE, TRUE);
  ExitWindowsEx(EWX_POWEROFF|EWX_FORCE, NULL);
Re[3]: Выклюить компьютер???
От: B_Denis  
Дата: 06.08.02 04:45
Оценка:
Здравствуйте LA Jazz, Вы писали:

LJ>Здравствуйте jia, Вы писали:



jia>>...use prawil'no.... sistemu Wu wyklyuchili... ter' ostalos'toka komp wyklyuchit, dlya etogo aktiwirujte w BIOSe APM(AdwancedPowerManagement).....

jia>>i use puchkom budet.....

LJ>На самом деле нет — я попробовал.

LJ>Комп не выключается, а говорит "нажмите батон, чтобы вырубить",
LJ>даже если в биосе все впорядке.

LJ>Во кусок кода, который вырубает комп:

LJ> ...

Спасибо, конечно, но хотелось бы выключать именно системными средствами, в смысле из батника .
:???:
Re: Выклюить компьютер???
От: Konstantin Sokolovskiy  
Дата: 07.08.02 11:26
Оценка:
Здравствуйте B_Denis, Вы писали:

BD>Как выключить компьютер из командной строки (из батника)? Пробую команду Shutdown с разными ключами ... винда выгружается и пишет "Теперь питание компьютера можно отключить" (Windows XP pro).


А что-нибудь вроде не пробовал?
dim OpSysSet, obj
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _
                         "(Shutdown)}//./root/cimv2").ExecQuery _
                         ("SELECT * FROM Win32_OperatingSystem" &_
                         " WHERE Primary=true")

For Each obj In OpSysSet
    obj.Win32Shutdown(8)
Next


P.S. Этот код засунуть в vbs файл и запустить.
Запускать можно и из батника: cscript.exe MyFile.vbs
Re[2]: Выклюить компьютер???
От: Аноним  
Дата: 08.08.02 08:43
Оценка:
Здравствуйте Konstantin Sokolovskiy, Вы писали:

KS>А что-нибудь вроде не пробовал?

KS>
KS>dim OpSysSet, obj
KS>Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _
KS>                         "(Shutdown)}//./root/cimv2").ExecQuery _
KS>                         ("SELECT * FROM Win32_OperatingSystem" &_
KS>                         " WHERE Primary=true")

KS>For Each obj In OpSysSet
KS>    obj.Win32Shutdown(8)
KS>Next
KS>


KS>P.S. Этот код засунуть в vbs файл и запустить.

KS>Запускать можно и из батника: cscript.exe MyFile.vbs

Ура, получилось, именно так! :user:
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.