Deutsch
Quelltexte/ Codesnippets

Edit Fangen Hook Hotkey Scankey Xpse

 

Julian
Schmidt
Lösung aus [...] 
 {$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,str(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 [...] 
20.02.2013  
 




Julian
Schmidt
Mit mehren Editierfeldern und Funktionen wie 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,str(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 + Shift + ")
        addString(modifyerList,"Alt + ")
        addString(modifyerList,"Alt + Shift + ")
        addString(modifyerList,"Strg + Alt + ")
        addString(modifyerList,"Strg + Shift + Alt + ")
        return modifyerList

    }

    SetHotKey(long hdl,modifyer,key_){

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

    }

    GetVKey(long hdl){

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

    }

    GetModifyer(long hdl){

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

    }

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

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
01.03.2013  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.270 Betrachtungen

Unbenanntvor 0 min.
RudiB.26.02.2024
p.specht20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

Julian Schmidt (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie