English
Source / code snippets

Capslock Numlock Scrollin status Keyboard-Query

 

CompileMarkSeparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Tastaturabfrage: NUMLOCK, Capslock und Scrollin der Statuszeile anzeigen
---------------------------------------------------------------------------
Keyboardstatus-Anzeige mit Profan                (P)Fairware, Freeware....
(c) 1998 Richard Maurukas
bearbeitet von Dietmar Horn
---------------------------------------------------------------------------
Definitionen für die Keyboardstatusanzeige.
Def GetKeyboardState(1) ! USER32.DLL,GetKeyboardState
Def SetKeyboardState(1) ! USER32.DLL,SetKeyboardState
Declare Keyboardstate#
Dim Keyboardstate#,256
Statusbar und Felder----
declare Statusbar1&,Statbarfeld1&,Statbarfeld2&,Statbarfeld3&,Statbarfeld4&
declare Statbarfeld5&,Statbarfeld6&,Statbarfeld7&
Declare Ende%
--------------------------------PROC STATUSBAR BEGIN--------------------------

PROC STATUSBAR

    declare Statusbar1&,Statbarfeld1&,Statbarfeld2&,Statbarfeld3&,Statbarfeld4&
    declare Statbarfeld#,Trect#
    dim Statbarfeld#,30
    dim Trect#,16
    let Statusbar1&=@control(msctls_statusbar32,,
     $50800000,40,20,150,40,%Hwnd,201,%Hinstance)
    long Statbarfeld#,0=150                der rechte Rand des ersten Parts
    long Statbarfeld#,4=250                der rechte Rand des zweiten Parts
    long Statbarfeld#,8=390                der rechte Rand des dritten Parts
    long Statbarfeld#,12=440               der rechte Rand des dritten Parts
    long Statbarfeld#,16=480
    long Statbarfeld#,20=520
    long Statbarfeld#,24=560
    sendmessage(Statusbar1&,$0404,7,Statbarfeld#) felder aufteilen
    sendmessage(Statusbar1&,$040A,0,Trect#) Rectanglestruct aus 0 holen
    let statbarfeld1&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,401,%HInstance)
    sendmessage(Statusbar1&,$040A,1,Trect#)
    let statbarfeld2&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,402,%HInstance)
    sendmessage(Statusbar1&,$040A,2,Trect#)
    let statbarfeld3&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,403,%HInstance)
    sendmessage(Statusbar1&,$040A,3,Trect#)
    let statbarfeld4&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,404,%HInstance)
    sendmessage(Statusbar1&,$040A,4,Trect#)
    let statbarfeld5&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,405,%HInstance)
    sendmessage(Statusbar1&,$040A,5,Trect#)
    let statbarfeld6&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,406,%HInstance)
    sendmessage(Statusbar1&,$040A,6,Trect#)
    let statbarfeld7&=@control(STATIC,,$50000001,
    add(long(TRect#,0),1),Add(long(Trect#,4),1),
    sub(sub(long(Trect#,8),2),long(Trect#,0)),
    sub(long(Trect#,12),4),Statusbar1&,407,%HInstance)
    settext statbarfeld1&,R.Maurukas
    settext statbarfeld2&,KeybStatus
    settext Statbarfeld3&,Anzahl
    settext Statbarfeld4&,SOSO
    Dispose Statbarfeld#
    Dispose Trect#

ENDPROC

--------------------------------PROC STATUSBAR ENDE---------------------------
-------------------------------PROC KEYBOARDSTATUS BEGIN----------------------

PROC KEYBOARDSTATUS

    Tastaturzustand in keyboardstate# kopieren.
    GetKeyboardState(keyboardstate#)
    Num Lock Taste Abfragen und in der Statuszeile anzeigen

    if equ(byte(keyboardstate#,144),1)

        Settext Statbarfeld5&,NUM
        enablemenu 405,0
        enablemenu 406,1

    else

        Settext Statbarfeld5&,
        enablemenu 405,1
        enablemenu 406,0

    ENDIF

    Caps-Lock (Umschalt-Taste) abfragen und Ergebnis in der Statuszeile zeigen

    if equ(byte(keyboardstate#,20),1)

        Settext Statbarfeld6&,Caps

    else

        Settext Statbarfeld6&,

    ENDIF

    Scroll-Lock abfragen und Ergebnis in der Statuszeile anzeigen

    if equ(byte(keyboardstate#,145),1)

        Settext Statbarfeld7&,Scroll

    else

        Settext Statbarfeld7&,

    ENDIF

ENDPROC

-------------------------------PROC KEYBOARDSTATUS ENDE-----------------------
Window 0,0-640,480
Windowtitle KeyboardStatus Anzeige mit Profan, (c) 1998 Richard Maurukas
cls rgb(0,0,128)
POPUP Datei
Appendmenu 101,Num ein
Appendmenu 102,Num aus
Separator
Appendmenu 103,Caps ein
Appendmenu 104,Caps aus
Separator
Appendmenu 105,Scroll ein
Appendmenu 106,Scroll aus
Separator
Appendmenu 199,Beenden
STATUSBAR
KEYBOARDSTATUS
Drawtext 10,10, Zeigt NUMLOCK, Capslock und Scrollin der Statuszeile an

Whilenot ENDE%

    getmessage

    If menuitem(199)

        let Ende%=1

    elseif Menuitem(101)                 Numlock ein

        byte keyboardstate#,144=1
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(102)                 Numlock aus

        byte keyboardstate#,144=0
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(103)

        byte keyboardstate#,20=1           Caps Lock ein
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(104)

        byte keyboardstate#,20=0           Caps Lock aus
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(105)

        byte keyboardstate#,145=0          Scroll Lock ein
        setkeyboardstate(keyboardstate#)

    elseif Menuitem(106)

        byte keyboardstate#,145=0          Scroll Lock aus
        setkeyboardstate(keyboardstate#)

    Endif

    KEYBOARDSTATUS
    setmenuitem 0

wend

dispose Keyboardstate#
end
 
07/15/07  
 



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

2.412 Views

Untitledvor 0 min.
AndreasS12/04/18
ByteAttack08/30/15
Ernst03/02/15
Andre Rohland05/22/14
More...

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


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