コード例 #1
0
        public void Start()
        {
            string configPath = Path.GetDirectoryName(config);
            string configFile = Path.GetFileName(config);

            if (!Directory.Exists(UtilsHelper.FixedLogDir))
            {
                Directory.CreateDirectory(UtilsHelper.FixedLogDir);
            }
            string logFile = UtilsHelper.FixedLogDir + "\\" +
                             configFile + ".log";

            openVPNprocess = new Process();

            openVPNprocess.StartInfo.FileName         = vpnPath;
            openVPNprocess.StartInfo.WorkingDirectory = configPath;
            openVPNprocess.StartInfo.Arguments        = string.Format("--service {0} --config \"{1}\" --log \"{2}\"", terminatorEventName, configFile, logFile);
            openVPNprocess.StartInfo.WindowStyle      = ProcessWindowStyle.Hidden;
            openVPNprocess.StartInfo.CreateNoWindow   = true;
            openVPNprocess.EnableRaisingEvents        = true;
            openVPNprocess.Exited += new EventHandler(openVPNclient_exit);
            openVPNserviceRunner.logOnConsole("Starting OpenVPN configuration: " + configFile);
            openVPNprocess.Start();
            ServiceHelper.MinimizeFootprint();
        }