Не запускается файл .exe

186
20 ноября 2018, 23:20

В приложении WPF есть необходимость открыть файл с расширением exe в фоновом режиме.Открыл диспетчер задач во время нажатия кнопки, crypto_parser.exe там не оказался.Открывая файл с помощью чистого без ничего Process.Start() файл открывается.Код из этой программы я нашел в ответе на этот вопрос.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;
namespace Crypto_Tracker
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            System.Diagnostics.Process prc = new System.Diagnostics.Process();
            prc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            prc.StartInfo.FileName = "C:\Users\User\Desktop\Trecker\crypto_parser.exe";
            prc.Start();
            prc.CloseMainWindow();
        }
    }
}

Нашел в сети этот вариант:

var startInfo = new System.Diagnostics.ProcessStartInfo
    {
        FileName = @"C:\Users\User\Desktop\Trecker\crypto_parser.exe",  // Путь к приложению
        UseShellExecute = false,
        CreateNoWindow = true
    };
System.Diagnostics.Process.Start(startInfo);

Эффект тот же что и от предыдущего.Не могу понять в чем проблема.

Answer 1
Process p = new Process();
p.StartInfo = new ProcessStartInfo("crypto_parser.exe");
p.StartInfo.WorkingDirectory = @"C:\Users\User\Desktop\Trecker";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.Start();

Это строчки кода позволили мне сделать то что я и хотел. Скрипт, видимо, использовал относительные пути, так что когда запуск производился из другого места (=> рабочая папка также менялась) скрипт малость ломался.Тем самым я ответил на свой вопрос.

READ ALSO
Оптимизация c# кода

Оптимизация c# кода

Как можно оптимизировать этот код?

162
Имитация файла в потоке из строки

Имитация файла в потоке из строки

Может быть вы можете помочь или натолкнуть на правильное понимание вопроса

158
ACF как вывести метаданные рубрики?

ACF как вывести метаданные рубрики?

У меня на сайте Wordpress установлен плагин ACFЯ создал поля для рубрик и ввел туда данные

158
Выборка и филтрация товара Symfony 4, Elasticseach, MySQL

Выборка и филтрация товара Symfony 4, Elasticseach, MySQL

Всем доброго времени суток! Есть задача: реализовать поисковый фильтр для выборки товара по характеристикам из базы данныхТоваров около...

168