110,043
社区成员




private void Runsoft()
{
string[] ini = this.GetIni(); //得到要检测要启动软件的配置
while (true)
{
string processlist = GetCurProccesslist();
for (int i = 0; i < ini.Length; i++)
{
string initest = ini[i];
string filename = GetFileName(initest).ToLower().Replace(".exe","") ;
if (processlist.IndexOf(filename) == -1) //判断是否启动
{
StratPorcess(initest); //启动软件
}
}
Thread.Sleep(60000);
}
}
/// <summary>
/// 启动一个程序
/// </summary>
/// <param name="filepath"></param>
private void StratPorcess(string filepath)
{
try
{
//Process.Start(filepath);
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = filepath;
//info.CreateNoWindow = true;
info.UseShellExecute = true;
Process.Start(info);
//info.
}
catch { }
}
/// <summary>
/// 根据路径得到文件名
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
private string GetFileName(string path)
{
FileInfo ff = new FileInfo(path);
return ff.Name;
}
/// <summary>
/// 得到进程列表。用 | 线分开
/// </summary>
/// <returns></returns>
private string GetCurProccesslist()
{
Process[] process = Process.GetProcesses();
string psoftname = "";
foreach (Process p in process)
{
psoftname += "|" + p.ProcessName.ToLower();
}
return psoftname;
}
/// <summary>
/// 读取配置文件
/// </summary>
/// <returns></returns>
private string[] GetIni()
{
string inipath = @"C:\a.txt";
StreamReader sr = new StreamReader(inipath);
string inistr = sr.ReadToEnd();
sr.Close();
sr.Dispose();
string[] spstr ={ "\r\n"};
return inistr.Split(spstr,StringSplitOptions.RemoveEmptyEntries);
}