Что нового

Агрессивный вариант выключения компьютера

sims

Осваивающий
Сообщения
184
Репутация
24
Числа в константах на сайте MS, заданы в шестнадцатеричном формате.
В коде PB, кстати тоже.
Код:
#EWX_FORCEIFHUNG = $10
$ означает что число шестнадцатеричное.
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
В место того чтобы разводить здесь оффтоп, вы могли бы взять и переписать на AutoIt. Или вы можете только других упрекать?
А я кроме AutoIt'a больше не знаю других языков программирования (если конечно cmd не считать за ЯП) :IL_AutoIt_1:
И то, в AutoIt'е для меня еще многое непонятно, хоть и работаю с ним уже несколько лет :smile:
 

asdf8

Скриптер
Сообщения
564
Репутация
152
OffTopic:

sims [?]
В место того чтобы разводить здесь оффтоп, вы могли бы взять и переписать на AutoIt. Или вы можете только других упрекать?

Это в ответ на мой предыдущий пост?

asdf8 [?]
Объявить несколько констант и структур по-любому лучше, чем таскать с программой костыли в виде dll, особенно, если можно обойтись без костылей.

Зачем же упрыгивать от темы дискуссии?

Кстати, если нужен код на РВ, можно зайти на тематический форум, задать вопрос и с хорошей вероятностью получить на него ответ. А совать не к месту код на РВ на AutoIt форуме - это и есть оффтоп.
 

sims

Осваивающий
Сообщения
184
Репутация
24
OffTopic:
asdf8 [?]
Зачем же упрыгивать от темы дискуссии?
Что простите?

Кстати, если нужен код на РВ, можно зайти на тематический форум, задать вопрос и с хорошей вероятностью получить на него ответ.
Зачем? По моему вы не в теме.
Давайте я вам все объясню.
ТС темы нашел код, который по его мнению должен решить задачу. http://autoit-script.ru/index.php/topic,14259.msg90005.html#msg90005
Но код на дельфи и он не уверен решит ли он задачу как нужно.
Я из кода создал dll и предоставил возможность ТС проверить его работу. http://autoit-script.ru/index.php/topic,14259.msg90025.html#msg90025
И заметьте, исходник не выкладывал, сделал это по просьбе ТС. http://autoit-script.ru/index.php/topic,14259.msg90029.html#msg90029
Затем по непонятной причине, последовали претензии с вашей стороны. http://autoit-script.ru/index.php/topic,14259.msg90035.html#msg90035
http://autoit-script.ru/index.php/topic,14259.msg90037.html#msg90037
Так вот, уважаемый asdf8, если вас так напрягает то что придется таскать с прогой еще и dll, то перепишите код на AutoIt.
asdf8 [?]
А совать не к месту код на РВ на AutoIt форуме - это и есть оффтоп.
Перечитайте все что написал выше и скажите в чем я не прав. Вы наверное сегодня не с той ноги встали? Или вы всегда такой?
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
sims сказал(а):
ТС темы нашел код, который по его мнению должен решить задачу.
Но код на дельфи и он не уверен решит ли он задачу как нужно.
sims, вот почти почти верно: мне бы хотелось просто сделать функцию под скрипт AutoIt без dll(естественно они не так уж и плохи, но когда можно сделать то же самое но только на одном и том же ЯП было бы еще лучше)
OffTopic:
Может быть я не такой любитель сидеть на форумах, все же: что такое ТС? :smile:
 

sims

Осваивающий
Сообщения
184
Репутация
24
AutoIt хорош для автоматизации, но в нем работа с WinAPI и со структурами, не очень удобна, что затрудняет перевод кода. Получается что перевести код на другой ЯП проще и быстрее чем на AutoIt (ИМХО).

MnM [?]

http://ru.wikipedia.org/wiki/ТС
ТопикСтартер (человек, создавший тему на форуме)
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
OffTopic:
MnM
ТС - топикастер, другое его имя - создатель темы! Другими словами человек запостивший тему)
http://forum.searchengines.ru/archive/index.php/t-295005.html

http://www.journalist-pro.com/2012/07/16/kto_takie_topikastery_ili_pochemu_tak_malo_khoroshikh_vebforumov.html
Топикаст - искажённое топикстарт (транслитерация с англ. topic start «начало темы», от topic «тема разговора» и start «начало») - неол. комп., жарг. изначально инициированная тема на форуме, в блоге и т. д. Соответственно топикастер/топикстартер - тот, кто начал, инициировал тему.
 

asdf8

Скриптер
Сообщения
564
Репутация
152
sims [?]
Я из кода создал dll и предоставил возможность ТС проверить его работу

Ну еще раз повторю, форум то про AutoIt.
Что автору темы интереснее - получить код на AutoIt или код и dll на, возможно, непонятном ЯП ?


И заметьте, исходник не выкладывал, сделал это по просьбе ТС
Против выкладывания исходника я слова не обмолвил, наоборот - это даже хорошо.


Затем по непонятной причине, последовали претензии с вашей стороны.
И где там претензии? Был вопрос, который вызвал слегка непропорциональную реакцию.


если вас так напрягает то что придется таскать с прогой еще и dll, то перепишите код на AutoIt.

Код:
Global Const $EWX_FORCEIFHUNG = 0x00000010
Global Const $EWX_FORCE = 0x00000004
Global Const $EWX_POWEROFF = 0x00000008
Global Const $EWX_SHUTDOWN = 0x00000001
Global Const $EWX_REBOOT = 0x00000002

$hToken = _WinAPI_OpenProcessToken(BitOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY))
Global $aAdjust, $aPrivileges[1] = [$SE_SHUTDOWN_NAME]
_WinAPI_AdjustTokenPrivileges($hToken, $aPrivileges, $SE_PRIVILEGE_ENABLED, $aAdjust)

DllCall("user32.dll", "long", "ExitWindowsEx", 'UINT', BitOR($EWX_FORCE, $EWX_FORCEIFHUNG, $EWX_POWEROFF, $EWX_SHUTDOWN), 'dword', 0)



Вы наверное сегодня не с той ноги встали? Или вы всегда такой?
Не думаю, что кто нибудь из нас, заинтересован в развитии этой темы.
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
adsf8, пасиб тема решена. Но так как тема перенесена в общение, и мой не очень нормальный со стороны психиатрии характер. Можно продолжать дискуссию :laugh:
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
Не думаю, что кто нибудь из нас, заинтересован в развитии этой темы.
А зря, я заинтересован, только мне больше нечем помочь...
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
MnM сказал(а):
Хотите поговорить про ноги? ;D
MnM, спасибо, воздержусь :smile:

asdf8 сказал(а):
Код:
Global Const $EWX_FORCEIFHUNG = 0x00000010
Global Const $EWX_FORCE = 0x00000004
Global Const $EWX_POWEROFF = 0x00000008
Global Const $EWX_SHUTDOWN = 0x00000001
Global Const $EWX_REBOOT = 0x00000002

$hToken = _WinAPI_OpenProcessToken(BitOR($TOKEN_ADJUST_PRIVILEGES, $TOKEN_QUERY))
Global $aAdjust, $aPrivileges[1] = [$SE_SHUTDOWN_NAME]
_WinAPI_AdjustTokenPrivileges($hToken, $aPrivileges, $SE_PRIVILEGE_ENABLED, $aAdjust)

DllCall("user32.dll", "long", "ExitWindowsEx", 'UINT', BitOR($EWX_FORCE, $EWX_FORCEIFHUNG, $EWX_POWEROFF, $EWX_SHUTDOWN), 'dword', 0)

asdf8, благодарю за код, сейчас протестировал на ВМ, он обыкновенно завершил работу Windows (XP sp3), все-ли правильно? :smile:
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Astel064 сказал(а):
он обыкновенно завершил работу Windows (XP sp3), все-ли правильно?
Да все правильно, вроде бы точно также как на PB :smile:
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
MnM [?]
Да все правильно, вроде бы точно также как на PB

Ну не знаю, идет обыкновенное закрытие сетевых подключений, сохранение параметров, завершение работы Windows, и только следом следом компьютер (точнее ВМ) отключается :smile:
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Astel064 [?]
идет обыкновенное закрытие сетевых подключений, сохранение параметров, завершение работы Windows
Об этом то я и говорил. Если резко прибить систему, она это понимает и при старте выведет диалог, который 30 сек будет ждать ответа на то как запускать систему после неправильного завершения. А если в этот момент система что-то писала или держала открытыми дескрипторы файлов, которые не были дописаны, то добавится ещё проверка жёсткого диска.
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
AZJIO [?]
Об этом то я и говорил. Если резко прибить систему, она это понимает и при старте выведет диалог, который 30 сек будет ждать ответа на то как запускать систему после неправильного завершения. А если в этот момент система что-то писала или держала открытыми дескрипторы файлов, которые не были дописаны, то добавится ещё проверка жёсткого диска.

У меня такое ооочень редко бывало, когда я пользовался SHUTDOWNNOW, в основном - полет успешный :smile:
И я консервативен, поэтому у меня WinXP, а не 7 (или не дай Бог 8!), а насколько я знаю - чтобы XP вывела диалог проверки диска (или выбора варианта загрузки) нужно поставить перемещение нескольких больших файлов, несколько закачек и отключить комп из сети, пока идет запись на диск :D
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Astel064 [?]
а насколько я знаю - чтобы XP вывела диалог проверки диска (или выбора варианта загрузки) нужно поставить перемещение нескольких больших файлов, несколько закачек и отключить комп из сети, пока идет запись на диск
Насколько я знаю это видимо зависит ещё от железа. Старый комп на Pentium 4 Prescott при любом таком выключении стабильно заставлял копьютер проверять диски, пока я не узнал, что есть твик для реестра, его можно посмотреть в TweakerXP (на первой вкладке второй снизу). Новый компьютер всего 2 раза предлагал проверку и то если я отказался, то напоминание больше не увижу.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
добавлю, что и от файловой системы зависит. если FAT/FAT32, то практически всегда будет проверка файловой системы при резком выключении компьютера
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
joiner [?]
добавлю, что и от файловой системы зависит. если FAT/FAT32, то практически всегда будет проверка файловой системы при резком выключении компьютера

Хм, нет, у меня NTFS, но также знаю, что с FAT(xx) проблемотичнее :smile:
 
Верх