Jorndel Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 Hei, jeg skulle ønske og gjøre slik at brukeren kan bruke hot keys. Nei, ikke bare når formen er fokusert. Men også uten om. Slik at jeg kan bruke det når en jeg vil. Jeg finner bare kompliserte kilder som jeg egentlig ikke forstår så mye av. Derfor spør jeg her Lenke til kommentar
torbjørn marø Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 (endret) En mulig løsning - selv om det sikkert ikke er det du ser for deg - er å inkludere AutoHotKey sammen med programmet ditt, samt et tilhørende script som tar seg av det du trenger. Med AuthoHotKey burde du kunne finne en måte for sciptet å kommunisere med applikasjonen din på, og da er du i mål. Endret 1. februar 2012 av torbjørn marø Lenke til kommentar
wolf5 Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 Sjekk topic'en litt lengre ned på forumet: https://www.diskusjon.no/index.php?showtopic=1397607 Har en ferdig klasse der som lytter på tastetrykk på hele systemet med events på samme måte som ellers. Lenke til kommentar
GeirGrusom Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 Nice. Men du trenger ikke bruke keyboard hooks for dette. Windows 2000 og nyere har Global Hotkeys som registrerer WM_HOTKEY event som en kan lytte etter istedet som er litt enklere i bruk. RegisterHotKey Som jeg nevnte i tråden dette var lenket til er det mange som har skrevet ferdige klasser som gjør dette enda enklere. Lenke til kommentar
torbjørn marø Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 Jeg var ikke klar over at det var så lett å opprette globale hot keys, men det er jo supert. Se bort fra min tidligere kommentar - om du da ikke har lyst til å se på AutoHotKey for andre formål (det er et ganske kjekt verktøy). Lenke til kommentar
Jorndel Skrevet 1. februar 2012 Forfatter Del Skrevet 1. februar 2012 Vel, takk for innspillene. Men jeg var mer ute etter og lære det en og bare Copy & Paste en source. Og linken til MSDN, er C++. (Tar jeg ikke feil.) Og Det er ikke til så mye hjelp når det er C#. Men, jeg får vel bare bruke Copy & Paste siden ingen har klart og gi meg et svar på åssen dette funker. Regner med at jeg kan skjønne coden men skulle nesten tro det var noe enklere. Mener og ha sett noe som at man kan bare "hente" tastene som er trykket. (Slik som man registrerer alle keys pressed.) Men, det er vel ikke det da Lenke til kommentar
wolf5 Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 Her er kode for å sjekke om noen taster er trykket. Skal du benytte noe slikt må du sjekke ganske så ofte så ingen har mulighet til å trykke ned og slippe tasten mellom hver sjekk. [DllImport("user32.dll")] static public extern short GetKeyState(System.Windows.Forms.Keys nVirtKey); public static bool GetCapslock() { //Return or set the Capslock toggle.; return Convert.ToBoolean(GetKeyState(System.Windows.Forms.Keys.CapsLock)) & true; } public static bool GetNumlock() { //Return or set the Numlock toggle.; return Convert.ToBoolean(GetKeyState(System.Windows.Forms.Keys.NumLock)) & true; } public static bool GetScrollLock() { //Return or set the ScrollLock toggle.; return Convert.ToBoolean(GetKeyState(System.Windows.Forms.Keys.Scroll)) & true; } public static bool GetShiftPressed() { //Return or set the ScrollLock toggle.; int state = GetKeyState(System.Windows.Forms.Keys.ShiftKey); if (state > 1 || state < -1) return true; return false; } public static bool GetCtrlPressed() { //Return or set the ScrollLock toggle.; int state = GetKeyState(System.Windows.Forms.Keys.ControlKey); if (state > 1 || state < -1) return true; return false; } public static bool GetAltPressed() { //Return or set the ScrollLock toggle.; int state = GetKeyState(System.Windows.Forms.Keys.Menu); if (state > 1 || state < -1) return true; return false; } Lenke til kommentar
GeirGrusom Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 (endret) Vel, takk for innspillene. Men jeg var mer ute etter og lære det en og bare Copy & Paste en source. Og linken til MSDN, er C++. (Tar jeg ikke feil.) Og Det er ikke til så mye hjelp når det er C#. Men, jeg får vel bare bruke Copy & Paste siden ingen har klart og gi meg et svar på åssen dette funker. Regner med at jeg kan skjønne coden men skulle nesten tro det var noe enklere. Mener og ha sett noe som at man kan bare "hente" tastene som er trykket. (Slik som man registrerer alle keys pressed.) Men, det er vel ikke det da Det er C ja (Win32), men med litt C# og .NET triksing så burde det ikke vært noe stort problem å gjøre om dette til en klasse i C#. Endret 1. februar 2012 av GeirGrusom Lenke til kommentar
aC Skrevet 1. februar 2012 Del Skrevet 1. februar 2012 Ta en titt på pinvoke sin side for alt som har med win32 apiet å gjøre. http://pinvoke.net/default.aspx/user32.RegisterHotKey Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå