Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Подскажите плиз Добавлено: 28.10.09 18:58  

Автор вопроса:  UnDeAdZak
Какая API на Висте позволяет вырубать компьютер? Я пробовал ExitWindowsEx, но у меня он тока в ждущщий режим переходит.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #1 Добавлено: 29.10.09 08:31
1. Как вызывал? Параметры.
  1. Const EWX_LOGOFF = 0
  2. Const EWX_SHUTDOWN = 1
  3. Const EWX_REBOOT = 2
  4. Const EWX_FORCE = 4
  5. Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Вроде и в Висте также, проверить не могу к сожалению.
2.Вроде и WMI должно работать
  1. Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
  2. For Each objOperatingSystem in colOperatingSystems
  3.     ObjOperatingSystem.Win32Shutdown(1)
  4. Next

Опять же проверить негде. :(

Ответить

Номер ответа: 2
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #2
Добавлено: 29.10.09 10:40
Предварительно советую получить привилегии отладчика и шатдаун-привилегии.

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 29.10.09 15:35
+1
нужны привелегии для NT систем..
к тому же под net вся эта шляпа не будет работать..
я как то писал пример - поищи на сайте kbyte.ru он там точно есть..

Ответить

Номер ответа: 4
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #4 Добавлено: 29.10.09 15:54
Ну автор просил АПИ. :) Под .NET естественно все это никчему.

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 29.10.09 20:19
Под .NET естественно все это никчему.

Ну если есть админские права, то можно и без API .. есть как минимум 2 варианта - это WMI и shutdown.exe c нужными параметрами.. Выполнить и то и то под НЕТ проблем не составит.. а вот если нету админских прав, то только так:

http://kbyte.ru/Expert/Show.aspx?id=191&lang=ru

Ответить

Номер ответа: 6
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #6 Добавлено: 02.11.09 21:14
Попробуй вот этим скриптом. Windows 7 вырубает точно, проверено!

  1. Set S = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\.\root\cimv2")
  2. Set col=S.ExecQuery("Select * from Win32_OperatingSystem")
  3. For Each O In col
  4. O.ShutDown 'Для перегрузки О.Reboot
  5. Next


Сохрани это в текстовый файл с расширением vbs, если сработает, будешь
запускать этот файл из своей программы как обычное приложение.

Это конечно как-то через ...., но если больше ничего не найдешь то - вариант.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам