English
Source / code snippets

Edit catch Hook Hotkey Scankey Xpse

 

Julian
Schmidt
Solution from [...] 
 {$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_control) : mor=mor+"Strg + "
            case iskey(vk_menu) : mor=mor+"Alt + "
            case iskey(vk_shift) : mor=mor+"Shift + "

        }

        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

}

 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
02/20/13  
 




Julian
Schmidt
with mehren Editierfeldern and functions How SetHotKey,GetVKey,GetModifyer
 {$iq}
Declare HKEdit&,kbdlist&, kbdlist_&, modifyerList&
Declare Edit&[]
kbdlist&=createKbdList()
kbdlist_&=createKbdList_()
modifyerList&=createModifyerList()
windowstyle 24
cls
Randomize

whileloop 0,4

    Edit&[&loop] = Create("Edit", %hWnd, "", 10, 60+(30*(&loop)), 200, 24)
    SendMessage(Edit&[&loop],$00CF,1,0)
    SetHotkey(Edit&[&loop],RND(7), Val(SubStr$(GetString$(kbdlist&,RND(GetCount(kbdlist&)+1)),1," ")))

EndWhile

initMyHook()
userMessages wm_user+1234

do{

    Waitinput
    HKEdit&=0

    whileloop 0,4 {

        If getfocus(Edit&[&loop])

            HKEdit&=Edit&[&loop]
            CLS
            print "\n VKey    : "+Str $(GetVKey(Edit&[&loop]))
            print " Modifyer: "+Str $(GetModifyer(Edit&[&loop]))
            Endif :

        }

    }

    end

    nProc initMyHook{

        return SetWindowsHookEx(13,procAddr(myLowLevelKeyboardHookProc),getModuleHandle(0),0)/*WH_KEYBOARD_LL*/

    }

    nProc myLowLevelKeyboardHookProc(long code,wp,lp){

        global HKEdit&,kbdlist&,modifyerList&

        if HKEdit& {

            ifnot long(lp,8)==128 {

                code=long(lp,0)
                string mor
                casenot code>159 or code==16 or code==17 or code==18 : mor=GetString(modifyerList&,iskey(vk_shift)+(iskey(vk_control)*2)+(iskey(vk_menu)*4)-1)
                setText(HKEdit&,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

    }

    createKbdList_{

        long kbdList_=create("list",0)

        whileloop 0,getcount(kbdlist&) {

            addString(kbdList_,SubStr$(GetString$(kbdlist&,&loop),2," ")+" "+SubStr$(GetString$(kbdlist&,&loop),1," "))

        }

        Return kbdList_

    }

    createModifyerList{

        long modifyerList=create("list",0)
        addString(modifyerList,"Shift + ")
        addString(modifyerList,"Strg + ")
        addString(modifyerList,"Strg + Invoice values + ")
        addString(modifyerList,"Alt + ")
        addString(modifyerList,"Alt + Invoice values + ")
        addString(modifyerList,"Strg + old + ")
        addString(modifyerList,"Strg + Invoice values + old + ")
        return modifyerList

    }

    SetHotKey(long hdl,modifyer,key_){

        Settext hdl,GetString(modifyerList&,modifyer-1)+substr(getString(kbdlist&,selectString(kbdlist&,0,st(key_)+" ")),2," ")

    }

    GetVKey(long hdl){

        Return getString(kbdlist&,Select String(kbdList_&,-1,SubStr$(Gettext(hdl),-1," + ")+" "))

    }

    GetModifyer(long hdl){

        Return Select String(modifyerList&,-1,Del$(Gettext(hdl),Len(Gettext(hdl)," + "),1," + "))+1

    }

 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
03/01/13  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

8.580 Views

Untitledvor 0 min.
Member 504445902/14/25
RudiB.02/26/24
p.specht11/20/21
Uwe Lang11/20/21
More...

Themeninformationen

this Topic has 1 subscriber:

Julian Schmidt (2x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie