Forum | | | | - Page 1 - |
|  Julian Schmidt | Hi, i'm on the Search to a Hotkey-Edit the so well How any Scankeys untestützt.
Def CreateHotkeyEdit(5) Control("msctls_hotkey32","",$54010200,&(2),&(3),&(4),&(5),&(1),2000,%hinstance)
Def SetHotKey(3) SendMessage(&(1),1025,MakeWord(%(2),%(3)),0)
Def GetHotKey(1) SendMessage(&(1),1026,0,0)
Def GetKey(1) LoWord(Lobyte(SendMessage(&(1),1026,0,0)))
Def GetModifyer(1) LoWord(Hibyte(SendMessage(hk&,1026,0,0)))
Def MakeWord(2) (%(1) & $FF) | ((%(2) & $FF) << 8)
Def HiByte(1) %(1) >> 8
Def LoByte(1) %(1) & $FF
Window Title "Tastenkombinationionen"
Cls
Var hk& = CreateHotkeyEdit(%hwnd,300,10,250,24)
SetHotKey(hk&,65,4)
While 1
SetFocus(hk&)
WaitInput
Cls
Print "Du have association: "
Print
Print "Taste ", GetKey(hk&)
Print "Modifyer ", GetModifyer(hk&)
EndWhile
in the example can the input-area z.B. not pressure bypass.
Greeting |
| | | | |
|  | « this Posting watts as Solution marked. » | |  Julian Schmidt |  Wow, with the Edit get one really any Kombinationen there. thanks iF. class thing.
here again with recognition all Keys and Readonly-Edit
{$iq}
declare Edit&,kbdlist&
windowstyle 16
cls
userMessages wm_user+1234
Edit& = @Create("Edit", %hWnd, "", 10, 10, 200, 24)
SendMessage(Edit&,$00CF,1,0)
kbdlist&=createKbdList()
initMyHook()
do{
waitInput
}
nProc initMyHook{
return SetWindowsHookEx(13,procAddr(myLowLevelKeyboardHookProc),getModuleHandle(0),0)/*WH_KEYBOARD_LL*/
}
nProc myLowLevelKeyboardHookProc(long code,wp,lp){
global edit&,kbdlist&
ifnot long(lp,8)==128 {
code=long(lp,0)
string mor
ifnot code>159 or code==16 or code==17 or code==18 {
case iskey(vk_shift) : mor=mor+"Shift + "
case iskey(vk_control) : mor=mor+"Strg + "
case iskey(vk_menu) : mor=mor+"Alt + "
}
setText(edit&,mor+substr(getString(kbdlist&,selectString(kbdlist&,0,st(code))),2," "))
}
CallNextHookEx(0, code, wp, lp)
}
nProc selectString(long lb,srcFrom,string src){
return sendMessage(lb,lb_selectString,srcFrom,src)
}
createKbdList{
long kbdList=create("list",0)
addString(kbdList,"8 BackSpace")
addString(kbdList,"9 Tab")
addString(kbdList,"12 Entfernen")
addString(kbdList,"13 Return")
addString(kbdList,"16 Shift")
addString(kbdList,"17 Strg")
addString(kbdList,"18 Alt")
addString(kbdList,"19 Pause")
addString(kbdList,"20 Caps")
addString(kbdList,"27 Esc")
addString(kbdList,"32 Space")
addString(kbdList,"33 BildHoch")
addString(kbdList,"34 BildRunter")
addString(kbdList,"35 Ende")
addString(kbdList,"36 Pos1")
addString(kbdList,"37 Links")
addString(kbdList,"38 Hoch")
addString(kbdList,"39 Rechts")
addString(kbdList,"40 Runter")
addString(kbdList,"41 Select")
addString(kbdList,"42 Druck")
addString(kbdList,"43 Execute")
addString(kbdList,"44 Druck")
addString(kbdList,"45 Einfg")
addString(kbdList,"46 Entf")
addString(kbdList,"47 Hilfe")
addString(kbdList,"48 0")
addString(kbdList,"49 1")
addString(kbdList,"50 2")
addString(kbdList,"51 3")
addString(kbdList,"52 4")
addString(kbdList,"53 5")
addString(kbdList,"54 6")
addString(kbdList,"55 7")
addString(kbdList,"56 8")
addString(kbdList,"57 9")
addString(kbdList,"65 A")
addString(kbdList,"66 B")
addString(kbdList,"67 C")
addString(kbdList,"68 D")
addString(kbdList,"69 E")
addString(kbdList,"70 F")
addString(kbdList,"71 G")
addString(kbdList,"72 H")
addString(kbdList,"73 I")
addString(kbdList,"74 J")
addString(kbdList,"75 K")
addString(kbdList,"76 L")
addString(kbdList,"77 M")
addString(kbdList,"78 N")
addString(kbdList,"79 O")
addString(kbdList,"80 P")
addString(kbdList,"81 Q")
addString(kbdList,"82 R")
addString(kbdList,"83 S")
addString(kbdList,"84 T")
addString(kbdList,"85 U")
addString(kbdList,"86 V")
addString(kbdList,"87 W")
addString(kbdList,"88 X")
addString(kbdList,"89 Y")
addString(kbdList,"90 Z")
addString(kbdList,"96 0")
addString(kbdList,"97 1")
addString(kbdList,"98 2")
addString(kbdList,"99 3")
addString(kbdList,"100 4")
addString(kbdList,"101 5")
addString(kbdList,"102 6")
addString(kbdList,"103 7")
addString(kbdList,"104 8")
addString(kbdList,"105 9")
addString(kbdList,"106 *")
addString(kbdList,"107 +")
addString(kbdList,"109 -")
addString(kbdList,"110 ,")
addString(kbdList,"111 /")
addString(kbdList,"112 F1")
addString(kbdList,"113 F2")
addString(kbdList,"114 F3")
addString(kbdList,"115 F4")
addString(kbdList,"116 F5")
addString(kbdList,"117 F6")
addString(kbdList,"118 F7")
addString(kbdList,"119 F8")
addString(kbdList,"120 F9")
addString(kbdList,"121 F10")
addString(kbdList,"122 F11")
addString(kbdList,"123 F12")
addString(kbdList,"124 F13")
addString(kbdList,"125 F14")
addString(kbdList,"126 F15")
addString(kbdList,"127 F16")
addString(kbdList,"128 F17")
addString(kbdList,"129 F18")
addString(kbdList,"130 F19")
addString(kbdList,"131 F20")
addString(kbdList,"132 F21")
addString(kbdList,"133 F22")
addString(kbdList,"134 F23")
addString(kbdList,"135 F24")
addString(kbdList,"160 Shift")
addString(kbdList,"161 Shift")
addString(kbdList,"162 Strg")
addString(kbdList,"163 Strg")
addString(kbdList,"164 Alt")
addString(kbdList,"165 Alt")
return kbdList
}
|
| | | | |  |
| |  | so can You The pressure-Button intercepting: [...] 
gives hold such Spezis as well as rumble and interval etc. |
| | | | |
| |  Julian Schmidt | hmmmm...and How building I the best one. Warscheinlich into upper example not at all.
is imho Murx
Def CreateHotkeyEdit(5) Control("msctls_hotkey32","",$54010200,&(2),&(3),&(4),&(5),&(1),2000,%hinstance)
Def SetHotKey(3) SendMessage(&(1),1025,MakeWord(%(2),%(3)),0)
Def GetHotKey(1) SendMessage(&(1),1026,0,0)
Def GetKey(1) LoWord(Lobyte(SendMessage(&(1),1026,0,0)))
Def GetModifyer(1) LoWord(Hibyte(SendMessage(hk&,1026,0,0)))
Def MakeWord(2) (%(1) & $FF) | ((%(2) & $FF) << 8)
Def HiByte(1) %(1) >> 8
Def LoByte(1) %(1) & $FF
Window Title "Tastenkombinationionen"
Cls
Var hk& = CreateHotkeyEdit(%hwnd,300,10,250,24)
SetHotKey(hk&,65,4)' ALT + A settle
external("user32.dll","RegisterHotKey",%hWnd,222,0,44)
usermessages 786'wm_hotkey
While 1
Waitinput 300
If getfocus(hk&)
Cls
Print "Du have association: "
Print
Print "Taste ", GetKey(hk&)
Print "Modifyer ", GetModifyer(hk&)
Waitinput
EndIf
if %uMessage=786
SetHotKey(hk&,&ulParam \ $10000,GetModifyer(hk&))
'print "Tastaturcode:",&ulParam \ $10000
endif
EndWhile
|
| | | | |
| |  | Mach still not so tricky separate simply one readonly Edit filled with everything what with getfocus one globaler Tastaturhook abliefert.
directly befüllen with Einträgen from such list: [...] [...]  |
| | | | |
| |  Julian Schmidt | How Dou you mean with the a global keyboard Hook. can you an example with reinen XProfan give. |
| | | | |
| |  | Absturzsicher does it with reinem Profan not - absturzsichere Hooks were with one reason for nProcs: [...] 
what You make could would a Loop with lauter registerHotKey( |
| | | | |
| |  Julian Schmidt | gives it no others Opportunities a manner Hotkey-Edit, without XPSE to create. because The pressure-Button uses go can.
knows there someone something?
Greeting |
| | | | |
| |  | i see hierbei not what you on the not-xpse code ( [...] ) so missfällt,
that You it for not verwendest. Imho missing here again The konkrete trouble- name. |
| | | | |
| |  Julian Schmidt | simply a Einhabemethode with the Tastenkombinationen grasped go could. speak one Edit, Listbox etc. After Possibility for several Tastenkombinationen, d.h. several Edits. it ought to In any drop The input the Drucktaste with Modifyer allows his. and to want too further Keys hinzufügbar.
After Possibility without XPSE. |
| | | | |
| |  | I faith you have my question not understood,
I asked sinngemäß what you on the NOT-xpse-example NOT gefällt. |
| | | | |
| |  Julian Schmidt | from the Grundidee gefällt it me. though must I moreover say, that I not with XPSE tested have. i'm simply yet no Friends XPSE. Perhaps create You me To convert, if You me short introduction in XPSE give. |
| | | | |
| |  | what I over again try you To ask, is, Why the the example not like, that even ___________ohne xpse auskommt.
it is not my border, somebody xpse aufzudrücken, I can it only recommend, there it itself eh already infinite many Male bewehrt has and so items weg, The otherwise not at all possible wären. If someone without xpse auskommt is the still IO. in example uses too You now already many syntaktische mutants The xpse already many years offered, before XProfan these supported and so bedingen the items once in a while. I had xpse then (1998 namens profane enhancer) began circa More capability from XProfan (then profane) herauszuholen and the tätentut it to date integrally successful. who whom solid eingebunden has becomes neither More without program, there one already at program so observes, How it supported and there it everything faster power and so The programs stabiler go, is it for me a must, particularly if one constantly Codes finds in them it Error finds The complete unnecessary are or. vermieden hätten go must. so write I in example often too rather a nProc instead of a Proc (where it even possible is) because tappt im dunkeln on a gewisse manner ehrlicher is and the system explicit less charged. |
| | | | |
|
AnswerTopic-Options | 46.277 Views |
Themeninformationenthis Topic has 3 subscriber: |