Gå til innhold

Globale hurtigtaster, eks.Play, Pause, Next & Last


Anbefalte innlegg

Er det mulig å skrive et program som kan bruke hurtigtastene man finner på en del keyboard som play, pause, last og next? Disse styrer vanligvis programmer som WMP, Winamp og tilsvarende.

 

Jeg lager en liten videospiller og det hadde vært greit om den kunne bruke disse knappene.

 

På forhånd takk for hjelpen! :)

Lenke til kommentar
Videoannonse
Annonse
       private void Form1_KeyUp(object sender, KeyEventArgs e)
       {
           if (e.KeyCode == Keys.MediaNextTrack)
             ;// blah
           if (e.KeyCode == Keys.MediaStop)
             ;// blah
       }

Endret av jorn79
Lenke til kommentar

Oh, ligger de der? Det visste jeg ikke, takker og bukker! :)

 

Men hva skal til for å gjøre dem "globale"? Programmet vil vel neppe reagere på det hvis det ikke har fokus...

 

La oss si at jeg skriver i Word. Jeg vil skippe til neste sang og trykker Next på tastaturet. Kan det ordnes?

Lenke til kommentar

Eureka! :D

 

Men jeg skal innrømme at jeg er lat. Jeg er ikke god nok i hverken VB.net eller C# til å oversette det prosjektet fra C# til VB, så jeg jukset litt, men det fungerer jo. Bare prøv å argumentere mot suksess! Ha! :p

 

For dem som måtte lure:

Jeg lagde et C#-prosjekt som et Class Library, la til ""UserActivityHook.cs" og kompilerte. Så lot mitt VB-prosjekt referere til C#-prosjektet, og kunne da uten problemer hente ut tastetrykk og mus-posisjon i VB.net. :)

 

 

 

    Private Sub fmrMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       actHook = New UserActivityHook
       actHook.Start()
       AddHandler actHook.KeyDown, AddressOf Me.MyKeyDown
   End Sub


   Public Sub MyKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
       Select Case e.KeyCode
           Case Is = Keys.MediaPlayPause
               PlayPauseStream()
           Case Is = Keys.MediaNextTrack
               NextTrack()
           Case Is = Keys.MediaPreviousTrack
               LastTrack()
       End Select
   End Sub

Lenke til kommentar
nyttig... eller... om ikke nyttig, så i alle fall morsomt :p hehe.

 

Godt når du paster løsningen også moskus... (feil språk da, men *mumlemumle*) ;)

7094346[/snapback]

Nyttig for meg, iallfall. Og så vet jeg at det er enkelt å lage globale hurtigtaster til andre programmer. :)

 

Og språket er jo helt riktig. ;)

Du burde tilogmed være fornøyd ettersom jeg faktisk måtte kode bittelitt i C# for å få det til. :p

 

 

 

 

Det eneste problemet nå er at tastaturet jeg bruker på jobb ikke sender "Keys.MediaPlayPause" når jeg trykker på den knappen.... :mad:

Lenke til kommentar
Det eneste problemet nå er at tastaturet jeg bruker på jobb ikke sender "Keys.MediaPlayPause" når jeg trykker på den knappen.... :mad:

7094365[/snapback]

Catch alle keystrokes og print hvilken knapp som trykkes, så ser du kjapt hvilken kommando denne sender :)

 

Jeg er ikke fornøyd før hele prosjektet ditt er i C#. Det blir infisert av satans verk (aka. VB)

Lenke til kommentar
Det eneste problemet nå er at tastaturet jeg bruker på jobb ikke sender "Keys.MediaPlayPause" når jeg trykker på den knappen.... :mad:

7094365[/snapback]

Catch alle keystrokes og print hvilken knapp som trykkes, så ser du kjapt hvilken kommando denne sender :)

Det er akkurat det: Det blir tydeligvis ikke sendt noen tastetrykk!

J*vla Logitech tastatur.... :nei:

 

 

Jeg er ikke fornøyd før hele prosjektet ditt er i C#. Det blir infisert av satans verk (aka. VB)

Du nærmer deg grensen for "patetisk", men det er du vel kanskje klar over... :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...