Gå til innhold

C#: Snappe opp tastatur inndata til active window?


Anbefalte innlegg

Hei!

 

Jeg holder på å programmere en applikasjon som skal gjøre det mulig for meg så skrive ting på pc'en via mobilens tastatur over bluetooth (på samme måten som en skriver en sms). Pga at min SE k750i mobiltelefon har et slikt HID (human interface device) virket dette som en smal sak. Er stort sett ferdig med hele applikasjonen, men det jeg mangler er en måte å snappe opp keydown events som skjer utenfor min applikasjon på. Dvs til det aktive vinduet (f.eks notepad).

 

Noen som har peiling på dette?

Lenke til kommentar
Videoannonse
Annonse
Må si dette her var svært inntresant og kanskje jeg skal ha ny mobil, som støtter det. Er det lett å få kobla opp mot en bluetooth enhet med C#? Har du noen dokumentasjon til dette.

5378790[/snapback]

 

Nei, altså. Jeg programmerer ikke rett mot bluetooth enheten. Jeg bruker bare windows sin standard bluetooth oppkoblings dings.

Og pga at SE har laget et slikt fint bluetooth HID oppsett så blir mobilen registrert som et slags bluetooth tastatur. Og da blir tastetrykk på mobilen registrert i windows som et helt ordinært tastatur tastetrykk.

Lenke til kommentar
Hei!

 

Jeg holder på å programmere en applikasjon som skal gjøre det mulig for meg så skrive ting på pc'en via mobilens tastatur over bluetooth (på samme måten som en skriver en sms). Pga at min SE k750i mobiltelefon har et slikt HID (human interface device) virket dette som en smal sak. Er stort sett ferdig med hele applikasjonen, men det jeg mangler er en måte å snappe opp keydown events som skjer utenfor min applikasjon  på. Dvs til det aktive vinduet (f.eks notepad).

 

Noen som har peiling på dette?

5378704[/snapback]

 

Du kan fange opp alle key-eventene i Windows ved å opprette en global systemhook. Det er ikke mulig å gjøre dette direkte i .NET rammeverket, men du kan importere funksjoner fra user32.dll. Se på funksjonene SetWindowsHookEx, UnhookWindowsHookEx og CallNextHookEx.

Endret av olav74
Lenke til kommentar

Glimrende. Har fått det til nå. Men nå vil jeg at programmet skal kun visest i systrayen.

Så nå lurer jeg på hvordan i granskauen en skjuler et form slik at det ikke fåes fram ved å alt-tabbe til det. Har fått det til å visest som ikon i systray, men samme hva jeg gjør med form.hide() og form.visible = false, så hjelper det lite på å få det vekk fra alt-tab.

 

Har prøvd å opprette en ny klasse slik som det står her: msdn

Men får pokker meg ikke det vekk!!

 

HJELP!! :/

:wallbash:

Lenke til kommentar
Glimrende. Har fått det til nå. Men nå vil jeg at programmet skal kun visest i systrayen.

Så nå lurer jeg på hvordan i granskauen en skjuler et form slik at det ikke fåes fram ved å alt-tabbe til det. Har fått det til å visest som ikon i systray, men samme hva jeg gjør med form.hide() og form.visible = false, så hjelper det lite på å få det vekk fra alt-tab.

 

Har prøvd å opprette en ny klasse slik som det står her: msdn

Men får pokker meg ikke det vekk!!

 

HJELP!! :/

:wallbash:

5386097[/snapback]

 

Du må sette form.ShowInTaskbar = false.

Lenke til kommentar
  • 1 måned senere...

Hele poenget her blir vel at du ikke trenger noen Form i det hele tatt.

 

Hvis jeg forstår deg rett så har du en form som egentlig bare er en klasse med de metodene du trenger + ikon i systray?

 

Da burde det vel være greiere å putte denne koden et annet sted enn en form?

Lenke til kommentar
  • 3 uker senere...

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...