Функция не запущена и создается текстовый файл - PullRequest
0 голосов
/ 03 июля 2018

Я создал функцию pro :

  • содержит массив процессов
  • он вызывает другую функцию записи для создания файла и записи в него.

функция записи writeproc :

  • проверяет, присутствует ли файл по указанному пути или нет.
  • если не генерирует файл, то добавляет текст в файл.

когда я запускаю код, он ничего не делает .... :( Это основной метод для консольного приложения, которое я сделал в c #.

[STAThread]
    static void Main(String[] args)
    {
        pro();
    }

Pro функция:

static void pro()
    {

        Process[] localAll = Process.GetProcesses();
        String path_pro = "C://KEYLOGS//processes.txt";
        foreach(Process proc in localAll)
        {
            writeproc(path_pro, proc);
        }
    }

функция writeproc:

static void writeproc(String p, Process the_process)
    {
        if (!File.Exists(p))
        {
            using (StreamWriter sw = File.CreateText(p))
            {
                //empty file generated.
            }
        }
        else
        {
            using (StreamWriter sw = File.AppendText(p))
            {
                sw.WriteLine("Process: "+the_process);
            }
        }
    }

1 Ответ

0 голосов
/ 03 июля 2018

Это может быть причиной двух разных вещей.

1: папка не существует на диске C, поэтому файл не может быть создан. (Это бросит System.IO.DirectoryNotFoundException) Добавьте Directory.CreateDirectory(p); в начало вашего метода writeproc.

2: У вас недостаточно прав для записи на диск C. (Это бросит System.UnauthorizedAccessException)

Я предлагаю добавить точку останова в ваш метод writeproc, чтобы увидеть, какое исключение выдается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...