djleitno - Sa 20.11.10 12:49
Titel: daten in txt abspeichern funktioniert nicht warum?
ich hab mal eine art keylogger programmiert der aber nur auf meinen pc laufen soll
hier der code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace keylogger
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Visible = true;
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
StreamWriter sw = new StreamWriter(@"c:\\Users\\lukas\\log.txt", true);
if (e.KeyData == Keys.A)
{
sw.Write("A");
}
else if (e.KeyData == Keys.B)
{
sw.Write("B");
}
else if (e.KeyData == Keys.C)
{
sw.Write("C");
}
else if (e.KeyData == Keys.D)
{
sw.Write("D");
}
else if (e.KeyData == Keys.E)
{
sw.Write("E");
}
else if (e.KeyData == Keys.F)
{
sw.Write("F");
}
else if (e.KeyData == Keys.G)
{
sw.Write("G");
}
else if (e.KeyData == Keys.H)
{
sw.Write("H");
}
}
}
}
ich hab aber ein problem!
wenn ich ihn öffne kommt immer ein fehler das es nicht auf log.txt oder so zugegrifen werden kann da die datei verwendet wird
hier ein bild der fehlermeldung:
[url=
http://image-upload.de/image/ElQtiI/a73128f3a3.png]
[/URL]
was kann ich da machen??
MFG djleitno
Th69 - Sa 20.11.10 18:26
Hallo,
entweder deinen Dateinamen ohne @ angeben (und dann doppelte Backslash) oder aber mit @ (und dann nur einfache Backslash), d.h.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| "c:\\Users\\lukas\\log.txt" @"c:\Users\lukas\log.txt"
"c:/Users/lukas/log.txt" |
Und deine if-else-Orgie geht auch sehr viel kürzer:
C#-Quelltext
1: 2:
| if (e.KeyCode >= Keys.A && e.KeyCode <= Keys.Z) sw.Write((char)e.KeyCode); |
P.S. es gibt schon einen Beitrag darüber:
http://www.mycsharp.de/wbb2/thread.php?postid=3652858#post3652858 -)