Lo sviluppo di un'applicazione di visualizzazione personalizzata su schermo per un computer portatile

StackOverflow https://stackoverflow.com/questions/547171

  •  23-08-2019
  •  | 
  •  

Domanda

Mi piacerebbe creare un custom on-screen display app per il mio computer portatile, visto che il produttore-in dotazione è spazzatura assoluta. Sono fuori di scrivere un app che vi mostrerà le cose come il controllo del volume, la luminosità dello schermo, lo stato dell'antenna wireless e così via. Non sono sicuro di quali informazioni che avevo bisogno di sapere per iniziare a creare qualcosa di simile (interfacce per chiave / pressione di un tasto, la priorità del sistema, eventuali altri dati rilevanti grabbing) e mi chiedevo se qualcuno potesse aiutarmi a punto nella giusta direzione. Se possibile vorrei sviluppare in C #.

Per esempio, quando tengo nel tasto "Fn" sulla mia tastiera portatile e premere il tasto "F5", il volume è diminuito. V'è una rappresentazione visiva di questa azione mediante un grafico sullo schermo che mostra il livello sonoro corrente che viene diminuito. Voglio sostituire la grafica nativa, perché, bene, solo che non mi piace:. D

È stato utile?

Soluzione

AutoHotKey per questo scopo. Il linguaggio di programmazione / quadro è una specie di stravagante, ma è molto potente e ci sono un sacco di script liberamente disponibili là fuori che fanno cose incredibili (beh, sorprendente se si considera il linguaggio ;-). Adam Pash (da LifeHacker.com) ha fatto un buon lavoro con AutoHotKey.

Non ho fatto nulla con grafica personalizzata, ma qui è ciò che il mio codice di controllo del volume sembra (è legato a Win-Plus e tasti di scelta rapida 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top