Пара идиотских вопросов :-)

Тема в разделе "WASM.WIN32", создана пользователем _DEN_, 10 дек 2004.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    WinXP



    1. Как помигать лампочками на клаве?



    2. Как сделать цветной анимированный курсор мыши? CreateCursor не умеет :dntknw:
     
  2. Arvensis

    Arvensis New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2004
    Сообщения:
    72
    Адрес:
    Russia
    Включить Caps:
    Код (Text):
    1.  
    2. #include <windows.h>
    3. #include <winuser.h>
    4.  
    5. int main(int argc, char* argv[])
    6. {
    7.     printf("Hello World!\n");
    8.     keybd_event(VK_CAPITAL,0,0,NULL);
    9.     return 0;
    10. }


    а ВЫКЛЮЧИТЬ НЕ ЗНАЮ КАК :) Num и Scroll тем же макаром

    VK_NUMLOCK, VK_SCROLL.

    В SDK рекомендуют использовать SendInput
     
  3. Tellur

    Tellur New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2004
    Сообщения:
    21
    Адрес:
    Новокузнецк
    по моему я такое с помощью SetKeyboardState() делал
     
  4. Lex

    Lex New Member

    Публикаций:
    0
    Регистрация:
    4 янв 2004
    Сообщения:
    4
    Адрес:
    Dushanbe
    Я не проверял, но вот тут нашёл по след адресу:

    http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988622290&n=15



    вот вырезка, не проверял:





    procedure SetNumLock(bState:Boolean);var KeyState : TKeyboardState;begin GetKeyboardState(KeyState); if ( (bState) and (not ((KeyState[VK_NUMLOCK] and 1)=1) ) or ( (not (bState)) and ((KeyState[VK_NUMLOCK] and 1)=1))) then // Simulate a key press keybd_event(VK_NUMLOCK, $45, (KEYEVENTF_EXTENDEDKEY or 0), 0); // Simulate a key release keybd_event( VK_NUMLOCK, $45, (KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP), 0);end;
     
  5. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    _DEN_



    Вот, помойму, рабочий вариант для лампочки NumLock (с другими, видимо, нужно делать аналогично...):

    ; Мигаем индикатором NumLock.

    invoke keybd_event, 144, 0, 0, 0 ; нажимаем NumLock

    invoke Sleep, 1000

    invoke keybd_event, 144, 0, 2, 0 ; отпускаем NumLock



    З.Ы.: Не успел ответить первым...
     
  6. Arvensis

    Arvensis New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2004
    Сообщения:
    72
    Адрес:
    Russia
    Мигание лампочками - животрепещущая тема, волнующая сердца многих... :) За пять минут - столько понимания и сочувствия! :)
     
  7. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Через keybd_event у меня загараются, но не гаснут :dntknw:



    А как узнать, какие лампочки горят в данный момент?
     
  8. Arvensis

    Arvensis New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2004
    Сообщения:
    72
    Адрес:
    Russia
    [offtopic]

    Глюк - Win2kSP4 после прогона моего кода для выключения Caps нужно нажать два раза. Винда не контролирует изменение лампочек юзерскими программами.

    [/offtopic]

    _DEN_

    GetKeyboardState тебе в руки
     
  9. Oleg_SK

    Oleg_SK Guest

    Публикаций:
    0
    Arvensis

    :))))



    _DEN_

    GetKeyboardState не поможет?
     
  10. nobody

    nobody New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2004
    Сообщения:
    32
    Адрес:
    Afghanistan
    Хороший пример мигания есть в KmdKit
     
  11. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    чтобы выключалось надо делать так (типа, до конца):
    Код (Text):
    1. invoke keybd_event,VK_CAPITAL,0,0,NULL
    2. invoke keybd_event,VK_CAPITAL,0,KEYEVENTF_KEYUP,NULL
     
  12. Arvensis

    Arvensis New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2004
    Сообщения:
    72
    Адрес:
    Russia
    shoo

    У меня не работает :dntknw:
     
  13. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    нажимай ОК и смотри налампочку. отв. быстро - я щас домой ухожу...

    [​IMG] _360610627__capslock.zip
     
  14. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    :) один раз - зажгется, один раз - потухнет - может это непонятно: первый инвоук - нажать кнопку, второй - отпустить. на изменение статуса нужно нажатие и отпускание. не исключено, что достаточно отпускания (без нажатия) - некогда пробовать.
     
  15. Arvensis

    Arvensis New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2004
    Сообщения:
    72
    Адрес:
    Russia
    shoo

    Верно, я гоню. Сенькс.