Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da uključim Num Lock, Caps Lock i Scroll Lock

[es] :: .NET :: Kako da uključim Num Lock, Caps Lock i Scroll Lock

[ Pregleda: 4622 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 464
*.217.eunet.yu.

Sajt: www.articles411.com


+8 Profil

icon Kako da uključim Num Lock, Caps Lock i Scroll Lock09.08.2007. u 11:29 - pre 172 meseci
Hi all,

Potrebno mi je da iz koda uključim one lampice na tasturi, odnosno da uključim/isključim num lock, caps lock i scroll lock a ne znam kako to da uradim. Jel ima neko ideju?

C++, C#, VB...
 
Odgovor na temu

prog
Bihac

Član broj: 106882
Poruke: 77
*.806591-86.bih.net.ba.



Profil

icon Re: Kako da uključim Num Lock, Caps Lock i Scroll Lock09.08.2007. u 12:27 - pre 172 meseci
http://www.webtropy.com/articles/art9-1.asp?f=SetKeyboardState
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Kako da uključim Num Lock, Caps Lock i Scroll Lock09.08.2007. u 17:07 - pre 172 meseci
Code:
Imports System.Runtime.InteropServices

Public Class Form1

    Private WithEvents bNum, bCaps, bScroll As New Button

    Sub New()
        InitializeComponent()
        bNum = New Button
        bNum.Location = New Point(10, 40)
        bNum.Text = "NumLock"

        bCaps = New Button
        bCaps.Location = New Point(10, 65)
        bCaps.Text = "CapsLock"

        bScroll = New Button
        bScroll.Location = New Point(10, 90)
        bScroll.Text = "ScrollLock"

        Me.Controls.Add(bNum)
        Me.Controls.Add(bCaps)
        Me.Controls.Add(bScroll)
    End Sub

    Private Sub DoKeyBoard(ByVal flags As NativeMethods.KEYEVENTF, ByVal key As Keys)
        Dim input As New NativeMethods.INPUT
        input.dwType = NativeMethods.InputType.Keyboard
        input.wVk = Convert.ToInt16(key)
        input.wScan = 0
        input.time = 0
        input.dwFlags = flags
        input.dwExtraInfo = IntPtr.Zero
        Dim cbSize As Integer = Marshal.SizeOf(GetType(NativeMethods.INPUT))
        Dim result As Integer = NativeMethods.SendInput(1, input, cbSize)
        If result = 0 Then Debug.WriteLine(Marshal.GetLastWin32Error)
    End Sub

    Private Sub bNum_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bNum.Click
        DoKeyBoard(0, Keys.NumLock)
        DoKeyBoard(NativeMethods.KEYEVENTF.KEYUP, Keys.NumLock)
    End Sub

    Private Sub bCaps_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bCaps.Click
        DoKeyBoard(0, Keys.CapsLock)
        DoKeyBoard(NativeMethods.KEYEVENTF.KEYUP, Keys.CapsLock)
    End Sub

    Private Sub bScroll_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bScroll.Click
        DoKeyBoard(0, Keys.Scroll)
        DoKeyBoard(NativeMethods.KEYEVENTF.KEYUP, Keys.Scroll)
    End Sub
End Class

Public Class NativeMethods

    <DllImport("user32.dll", SetLastError:=True)> Friend Shared Function SendInput(ByVal cInputs As Int32, ByRef pInputs As INPUT, ByVal cbSize As Int32) As Int32
    End Function

    <StructLayout(LayoutKind.Sequential, pack:=1, Size:=28)> Friend Structure INPUT
        Public dwType As InputType
        Public wVk As Int16
        Public wScan As Int16
        Public dwFlags As KEYEVENTF
        Public time As Int32
        Public dwExtraInfo As IntPtr
    End Structure

    Friend Enum InputType As Integer
        Mouse = 0
        Keyboard = 1
        Hardware = 2
    End Enum

    <Flags()> _
    Friend Enum KEYEVENTF As Integer
        EXTENDEDKEY = 1
        KEYUP = 2
        UNICODE = 4
        SCANCODE = 8
    End Enum

End Class
 
Odgovor na temu

toxi_programer
Nemanja Todić
Beograd

Član broj: 104396
Poruke: 464
*.49.eunet.yu.

Sajt: www.articles411.com


+8 Profil

icon Re: Kako da uključim Num Lock, Caps Lock i Scroll Lock09.08.2007. u 21:56 - pre 172 meseci
Eh... nisam uspeo ništa da uradim :(
Što se tiče primera koda koji ste dali, ja ne znam kako da ga prevedem u C# pošto nekih od elemenata koji se spominju "nema" u .NET. Ili ja ne znam gde su...

A onaj sajt, to sam i ranije bio našao. Ali fora je u tome što preko funkcije GetKeyboardState() uzmem onih 255 byte-ove i sad ne znam kako da ih podesim da bi se uključilo/isključilo sijanje lampice na tastaturi. Probao sam da ih sve postavim na nulu a onda da pozove SetKeyboardState() ali lampica i dalje ostane uključena. Mislim, nikakvo efekta nema - idalje mi radi kucanje brojeva pomoću onih tastera na desnoj strani tastature, na primer...
 
Odgovor na temu

Boško

Član broj: 32679
Poruke: 62
80.93.249.*



Profil

icon Re: Kako da uključim Num Lock, Caps Lock i Scroll Lock10.08.2007. u 01:12 - pre 172 meseci
A zna li neko kako ovo primeniti na eksterne (usb) tastature?
Konkretno, interesuje me kako da uključim NUMLOCK na maloj numeričkoj USB tastaturi koju koristim uz NoteBook.
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Kako da uključim Num Lock, Caps Lock i Scroll Lock10.08.2007. u 09:26 - pre 172 meseci
Kod jeste .NET, ali VB.NET... A ja nisam prava osoba da ti ga prevedem.

A što se tiče USB tatsature, meni radi. Tastatura je tastatura.
 
Odgovor na temu

Boško

Član broj: 32679
Poruke: 62
80.93.249.*



Profil

icon Re: Kako da uključim Num Lock, Caps Lock i Scroll Lock10.08.2007. u 15:21 - pre 172 meseci
Citat:
BezPanike
A što se tiče USB tatsature, meni radi. Tastatura je tastatura.


Ne znam da li si me dobro razumeo. USB tastatura je priključena kao dodatna (druga) tastatura. Tvoj kod radi OK i na "glavnoj" tastaturi pali i gasi tastere, ali na ovoj dodatnoj neće.
 
Odgovor na temu

[es] :: .NET :: Kako da uključim Num Lock, Caps Lock i Scroll Lock

[ Pregleda: 4622 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.