Здравствуйте Написал: Код (Text): .386 .MODEL Flat, STDCALL include c:\masm32\include\windows.inc includelib c:\masm32\lib\advapi32.lib .DATA bye db "bye",0 .CODE start: invoke InitiateSystemShutdown, NULL, addr bye, 100, FALSE, FALSE end start а он мне в ответ: Код (Text): C:\Masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"C:\Masm32\Include" "C:\halt.asm" Assembling: C:\halt.asm C:\halt.asm(9) : error A2006: undefined symbol : InitiateSystemShutdown И не могу понять чего я не так делаю, объясните пожалуйста как мне написать выключатель компьютера. Спасибо.
Действительно скомпилировалось и собралось, но комп не выключает почемуто... как его программно выключить?
этот исходник не сработал, ExitProcess нету потому что я неофит, но после того как ExitProcess вставил программа перестала выдавать ошибку Windows, но всеравно комп не выключала Код (Text): .386 .MODEL Flat, STDCALL option casemap:none include c:\masm32\include\windows.inc include c:\masm32\include\advapi32.inc include c:\masm32\include\kernel32.inc includelib c:\masm32\lib\advapi32.lib includelib c:\masm32\lib\kernel32.lib .DATA bye db "bye",0 .CODE start: invoke InitiateSystemShutdown, NULL, addr bye, 100, FALSE, FALSE invoke ExitProcess,NULL end start
technik5 Для выключения компьютера нужна привилегия SE_SHUTDOWN_NAME. Почитайте про привилегии и их получение в MSDN.
technik5 А что у тебя за система? У меня (WinXp SP2) все работает. Там как раз с привилегиями показана как работать.
В этом примере есть код получения привилегий и выключения компа. Должен работать. ) http://goodnight.narod.ru/GoodNight_Source.zip
technik5 Смотрите внимательно на сайте http://www.wasm.ru/src/6/97.zip IMHO вообще шедевр! А еще наберите в поиске wasm.ru: "мгновенный шатдаун" или "выключение комп"
Жаль, конечно, но просмотрите внимательно раздел исходники-> система на wasm.ru, там штук пять сорцов, которые могли бы вам помочь