Разработка настраиваемого экранного приложения для ноутбука - PullRequest
0 голосов
/ 13 февраля 2009

Я бы хотел создать собственное приложение для моего ноутбука, которое будет отображаться на экране, так как поставляемое производителем - полная чушь. Я собираюсь написать приложение, которое будет показывать такие вещи, как регулятор громкости, яркость экрана, состояние беспроводной антенны и так далее. Я не уверен, какую информацию мне нужно знать, чтобы начать создавать что-то вроде этого (интерфейсы для захвата нажатий клавиш / клавиш, системный приоритет, любые другие релевантные данные), и задавался вопросом, может ли кто-нибудь помочь направить меня в правильном направлении. Если возможно, я бы хотел разработать его на C #.

Например, когда я удерживаю клавишу «Fn» на клавиатуре ноутбука и нажимаю клавишу «F5», громкость уменьшается. Существует визуальное представление этого действия в виде экранной графики, которая показывает текущий уровень звука, который снижается. Я хочу заменить родную графику, потому что, ну, мне просто не нравится: D.

1 Ответ

2 голосов
/ 14 февраля 2009

Я использую AutoHotKey для этой цели. Язык программирования / фреймворк является своего рода странным, но он очень мощный, и есть много свободно доступных сценариев, которые делают удивительные вещи (ну, удивительно, если учесть язык ;-). Адам Паш (из LifeHacker.com) проделал большую работу с AutoHotKey.

Я ничего не сделал с пользовательской графикой, но вот как выглядит мой код регулировки громкости (он привязан к горячим клавишам Win-Plus и Win-Minus).

#=::
    SoundSetWaveVolume, +5
    Gosub, osd
    Return

#-::
    SoundSetWaveVolume, -5
    Gosub, osd
    Return

;; onscreen display for volume control
osd:
    IfWinNotExist, volume
    {
        Progress, b1, volume:, , volume
    }
    WinSet, Transparent, 220, volume
    SoundGet, Volumelvl, wave, volume
    Transform, Volumelvl,  Round, %Volumelvl%
    Progress, %Volumelvl%, volume: %Volumelvl%`%
    SetTimer, osd_off, 1000
    Return

osd_off:
    Progress, off
...