Ctrl + Numlock İptali
-
merhaba bir exe ile crtl + numlok tuşlarınıu iptal edebilirmiyim..
bir program var ctrl + numloc a basınca program kapanıyor dos tabanlı ctrl + numlock a basınca program şu karakteri çıkarıyor ^C
bu da programı kapatıyor diyorum bir exe ile iptal edebilirmiyiz sistemlerimiz Win XP -
Konuyu daha önce gördüm ama yazmak şimdi nasip oldu.Küçük birşey yazdım.Elimden geldiğince iptal ettirmeye çalıştım belki o programa uyar belki uymaz.Sen yine de dene.Program num lock ışığını yaktırmamaya çalışıyor aslı ise numlock aktif olunca pasif yapıyor.Bir timer ile yaptım,timer interval hızı 1 olarak ayarlı daha hızlı yok,valla bak dene gör :) Programı denemen için upload ettim.Virus taraması yap sen.Programı çalıştırdıktan sonra numlock tuşunu pasif yapmaya çalışacak,programdan kurtulmak için F7 tuşuna basman yeterli
Download: http://www.turkupload.com/file.asp?d=278652442
veya
http://rapidshare.de/files/20143714/Project1.exe.html
Kodları da veriyorum,kendine göre de düzenleyebilirsin.Kolay gelsin
'===================================================================
'forma bir tane timer koy,ismi timer1 olsun (yani hiç değiştirme)
Private Declare Function GetAsyncKeyState Lib "user32" _
(ByVal vKey As Long) As Integer
Const VK_NUMLOCK = &H90
Const VK_CONTROL = &H11
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Dim Tuş_Kodu As String
Dim kbArray As KeyboardBytes
Private Sub Form_Load()
Timer1.Interval = 1
Timer1.Enabled = True
Me.Hide
End Sub
Private Sub Timer1_Timer()
basilantus = KlavyeDinle
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = 0 'Numlocku Kapat
SetKeyboardState kbArray
kbArray.kbByte(VK_CONTROL) = 0 'ctrl yi kapat
SetKeyboardState kbArray
If basilantus = vbKeyF7 Then End 'f7 ye bastığında programı kapat
End Sub
Private Function KlavyeDinle() As Integer
For i = 32 To 250 'Asc("A") To Asc("Z") And Asc(221)
If GetAsyncKeyState(i) Then
KlavyeDinle = i
Exit For
End If
Next
End Function
'===================================================================
-
Uyarı:
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = 0 "Numlocku Kapat
SetKeyboardState kbArray
kbArray.kbByte(VK_CONTROL) = 0 "ctrl yi kapat
SetKeyboardState kbArray
If basilantus = vbKeyF7 Then End "f7 ye bastığında programı kapat
Bu kısımda hata verecek.Çünkü vbde bilgi işareti kesme işareti burda tırnak işareti olarak görülüyor.Ama şunu onun yerine koypalarsan çalışır
GetKeyboardState kbArray
kbArray.kbByte(VK_NUMLOCK) = 0 SetKeyboardState kbArray
kbArray.kbByte(VK_CONTROL) = 0 SetKeyboardState kbArray
If basilantus = vbKeyF7 Then End
Toplam Hit: 2871 Toplam Mesaj: 3