А я кроме AutoIt'a больше не знаю других языков программирования (если конечно cmd не считать за ЯП) :IL_AutoIt_1:В место того чтобы разводить здесь оффтоп, вы могли бы взять и переписать на AutoIt. Или вы можете только других упрекать?
В место того чтобы разводить здесь оффтоп, вы могли бы взять и переписать на AutoIt. Или вы можете только других упрекать?
Объявить несколько констант и структур по-любому лучше, чем таскать с программой костыли в виде dll, особенно, если можно обойтись без костылей.
Что простите?Зачем же упрыгивать от темы дискуссии?
Зачем? По моему вы не в теме.Кстати, если нужен код на РВ, можно зайти на тематический форум, задать вопрос и с хорошей вероятностью получить на него ответ.
Перечитайте все что написал выше и скажите в чем я не прав. Вы наверное сегодня не с той ноги встали? Или вы всегда такой?А совать не к месту код на РВ на AutoIt форуме - это и есть оффтоп.
sims, вот почти почти верно: мне бы хотелось просто сделать функцию под скрипт AutoIt без dll(естественно они не так уж и плохи, но когда можно сделать то же самое но только на одном и том же ЯП было бы еще лучше)sims сказал(а):ТС темы нашел код, который по его мнению должен решить задачу.
Но код на дельфи и он не уверен решит ли он задачу как нужно.
что такое ТС
ТопикСтартер (человек, создавший тему на форуме)
Я из кода создал 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)
Не думаю, что кто нибудь из нас, заинтересован в развитии этой темы.Вы наверное сегодня не с той ноги встали? Или вы всегда такой?
А зря, я заинтересован, только мне больше нечем помочь...Не думаю, что кто нибудь из нас, заинтересован в развитии этой темы.
Хотите поговорить про ноги? ;DAstel064 сказал(а):А зря, я заинтересован
MnM, спасибо, воздержусьMnM сказал(а):Хотите поговорить про ноги? ;D
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)
Да все правильно, вроде бы точно также как на PBAstel064 сказал(а):он обыкновенно завершил работу Windows (XP sp3), все-ли правильно?
Об этом то я и говорил. Если резко прибить систему, она это понимает и при старте выведет диалог, который 30 сек будет ждать ответа на то как запускать систему после неправильного завершения. А если в этот момент система что-то писала или держала открытыми дескрипторы файлов, которые не были дописаны, то добавится ещё проверка жёсткого диска.идет обыкновенное закрытие сетевых подключений, сохранение параметров, завершение работы Windows
Об этом то я и говорил. Если резко прибить систему, она это понимает и при старте выведет диалог, который 30 сек будет ждать ответа на то как запускать систему после неправильного завершения. А если в этот момент система что-то писала или держала открытыми дескрипторы файлов, которые не были дописаны, то добавится ещё проверка жёсткого диска.
Насколько я знаю это видимо зависит ещё от железа. Старый комп на Pentium 4 Prescott при любом таком выключении стабильно заставлял копьютер проверять диски, пока я не узнал, что есть твик для реестра, его можно посмотреть в TweakerXP (на первой вкладке второй снизу). Новый компьютер всего 2 раза предлагал проверку и то если я отказался, то напоминание больше не увижу.а насколько я знаю - чтобы XP вывела диалог проверки диска (или выбора варианта загрузки) нужно поставить перемещение нескольких больших файлов, несколько закачек и отключить комп из сети, пока идет запись на диск