C# 启动进程和杀死进程

复制代码
     /// <summary>
        /// 杀死进程
        /// </summary>
        private void KillProcesses()
        {
            var cfn = GetAppsettingStr("checkin-filefolder-name");
            var ofn = GetAppsettingStr("outmoney-filefolder-name");
            var ifn = GetAppsettingStr("inmoney-filefolder-name");
            foreach (var p in Process.GetProcesses())
            {
                if (p.ProcessName == cfn || p.ProcessName == ofn || p.ProcessName == ifn)
                {
                    p.Kill();
                }
            }
        }

        /// <summary>
        /// 启动进程
        /// </summary>
        private void StartProcesses()
        {
            var list = new List<string>();
            var cfn = GetAppsettingStr("checkin-filefolder") + GetAppsettingStr("checkin-filefolder-name");
            var ofn = GetAppsettingStr("outmoney-filefolder") + GetAppsettingStr("outmoney-filefolder-name");
            var ifn = GetAppsettingStr("inmoney-filefolder") + GetAppsettingStr("inmoney-filefolder-name");
            list.Add(ofn);
            list.Add(ifn);
            list.Add(cfn);
            
            foreach (var li in list)
            {
                Process.Start(li + ".exe");
            }
        }
复制代码

再加上从app.config 文件里获取数据

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="StartUpgrade.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
  <appSettings>
    <!-- checkin 文件夹和文件名 -->
    <add key="checkin-filefolder" value="D:\NotePad++\"/>
    <add key="checkin-filefolder-name" value="npp.6.1.3.Installer"/>
    
    <!-- 出钞 文件夹和文件名 -->
    <add key="outmoney-filefolder" value="D:\NotePad++\"/>
    <add key="outmoney-filefolder-name" value="npp.6.1.3.Installer"/>
    
    <!-- 入钞 文件夹和文件名 -->
    <add key="inmoney-filefolder" value="D:\NotePad++\"/>
    <add key="inmoney-filefolder-name" value="npp.6.1.3.Installer"/>
    
    <!-- 字节数组 -->
    <add key="bytearrary" value="10240"/>
    <add key="upload-path" value="E:\Projects\Hotels\StartUpgrade\StartUpgrade\File\"/>
    <add key="upload-url" value="http://192.168.1.200:8077/UpgradeFiles/"/>
    
    <!-- 机器id -->
    <add key="machineid" value="888"/>
  </appSettings>
    <system.serviceModel>
      <bindings />
      <client />
    </system.serviceModel>
    <applicationSettings>
      <StartUpgrade.Properties.Settings>
            <setting name="StartUpgrade_IStartUpgrade_UpgradeFile" serializeAs="String">
                <value>http://192.168.1.155:8013/DataService/WebService/Interface/UpgradeFile.asmx</value>
            </setting>
        </StartUpgrade.Properties.Settings>
    </applicationSettings>
 
</configuration>
复制代码

是这样获取app.config数据的:

复制代码
        /// <summary>
        /// 获取配置文件里appsettings的数据
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string GetAppsettingStr(string str)
        {
            var appReader = new AppSettingsReader();
            return appReader.GetValue(str, typeof(string)).ToString();
        }    
复制代码

 

 

posted @   Seaurl  阅读(940)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示