Выключение монитора. DPMS

Тема в разделе "WASM.WIN32", создана пользователем asmlamo, 23 мар 2005.

  1. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    Написал такой код:


    Код (Text):
    1.  
    2.         push 0
    3.         call GetDesktopWindow
    4.    
    5.    
    6.         push 2 ; PowerOff
    7.         push dword ptr SC_MONITORPOWER
    8.         push dword ptr WM_SYSCOMMAND
    9.         push eax
    10.  
    11.         call SendMessageA
    12.  




    Он работает ... но только у меня дома на компе (Win2000)





    Принес на работу - код не работает (XP SP2)



    У друга (XP)все работает !!!



    В чем может быть затык ?



    Перерыл все - настройки BIOS и монитора в винде ...



    Не работает ...



    Какие еще есть методы выключения ?



    Может какие настройки ACPI ???





    Обнаружил вот это:



    INT 10 - VESA VBE/PM (Power Management) v1.0+ - SET DISPLAY POWER STATE

    AX = 4F10h

    BL = 01h

    BH = new state (see #0089)

    Return: AL = 4Fh if function supported

    AH = call status

    00h successful

    else failed

    SeeAlso: AX=4F10h/BL=00h,AX=4F10h/BL=02h,AX=A00Ch







    И еще это:



    mov dx, 3D4h

    mov al, 17h

    out dx, al

    inc dx

    in al, dx

    and al, 7Fh

    out dx, al ; Video: CRT controller internal registers





    Но как это заставить работать под виндой ?



    Там же напрямую INT 10h не вызовеш !

    и out dx, al тож не прокатит ....
     
  2. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    ну вот напрмер на мой комп какую винду не поставь, а монитор кодом выключаться не будет - потому что управления питанием у него нет :)