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

Тема в разделе "WASM.BEGINNERS", создана пользователем technik5, 27 окт 2007.

  1. technik5

    technik5 New Member

    Публикаций:
    0
    Регистрация:
    12 сен 2007
    Сообщения:
    19
    Здравствуйте
    Написал:
    Код (Text):
    1. .386
    2. .MODEL Flat, STDCALL
    3. include c:\masm32\include\windows.inc
    4. includelib c:\masm32\lib\advapi32.lib
    5. .DATA
    6. bye db "bye",0
    7. .CODE
    8.     start:
    9.     invoke InitiateSystemShutdown, NULL, addr bye, 100, FALSE, FALSE
    10. end start
    а он мне в ответ:
    Код (Text):
    1. C:\Masm32\Bin\ML.EXE /c /coff /Cp /nologo /I"C:\Masm32\Include" "C:\halt.asm"
    2.  Assembling: C:\halt.asm
    3. C:\halt.asm(9) : error A2006: undefined symbol : InitiateSystemShutdown
    И не могу понять чего я не так делаю, объясните пожалуйста как мне написать выключатель компьютера.
    Спасибо.
     
  2. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    добавь
    Код (Text):
    1. include c:\masm32\include\advapi32.inc
     
  3. technik5

    technik5 New Member

    Публикаций:
    0
    Регистрация:
    12 сен 2007
    Сообщения:
    19
    Действительно скомпилировалось и собралось, но комп не выключает почемуто...
    как его программно выключить?
     
  4. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    А что возвращает функция? Почему нет ExitProcess ? Может нет нужных привелегий. Смотри мсдн.
     
  5. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    Посмотри здесь в разделе исходники: http://www.wasm.ru/src/6/97.zip
     
  6. technik5

    technik5 New Member

    Публикаций:
    0
    Регистрация:
    12 сен 2007
    Сообщения:
    19
    этот исходник не сработал, ExitProcess нету потому что я неофит, но после того как ExitProcess вставил программа перестала выдавать ошибку Windows, но всеравно комп не выключала
    Код (Text):
    1. .386
    2. .MODEL Flat, STDCALL
    3. option casemap:none
    4. include c:\masm32\include\windows.inc
    5. include c:\masm32\include\advapi32.inc
    6. include c:\masm32\include\kernel32.inc
    7. includelib c:\masm32\lib\advapi32.lib
    8. includelib c:\masm32\lib\kernel32.lib
    9. .DATA
    10. bye db "bye",0
    11. .CODE
    12.     start:
    13.     invoke InitiateSystemShutdown, NULL, addr bye, 100, FALSE, FALSE
    14.     invoke ExitProcess,NULL
    15. end start
     
  7. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    technik5
    Для выключения компьютера нужна привилегия SE_SHUTDOWN_NAME. Почитайте про привилегии и их получение в MSDN.
     
  8. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    technik5
    А что у тебя за система? У меня (WinXp SP2) все работает. Там как раз с привилегиями показана как работать.
     
  9. technik5

    technik5 New Member

    Публикаций:
    0
    Регистрация:
    12 сен 2007
    Сообщения:
    19
    И у меня WinXP SP2, выдает ошибку с вопросом послать в микрософт.
     
  10. lotos_od

    lotos_od New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    29
    Адрес:
    Ukraine
    В этом примере есть код получения привилегий и выключения компа. Должен работать. )

    http://goodnight.narod.ru/GoodNight_Source.zip
     
  11. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    technik5
    Смотрите внимательно на сайте
    http://www.wasm.ru/src/6/97.zip IMHO вообще шедевр!
    А еще наберите в поиске wasm.ru: "мгновенный шатдаун" или "выключение комп"
     
  12. technik5

    technik5 New Member

    Публикаций:
    0
    Регистрация:
    12 сен 2007
    Сообщения:
    19
    У меня не работает шедевр:
    http://foto8555.narod.ru/shutdown.JPG
     
  13. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Жаль, конечно, но просмотрите внимательно раздел исходники-> система на wasm.ru, там штук пять сорцов, которые могли бы вам помочь