-3

我正在用 c# 编写一个程序,每当有人试图打开某个 .exe 文件时,我们称之为“prog.exe”,该程序将关闭它并随机打开其他三个程序之一,我们称之为“a.exe”。 exe”、“b.exe”、“c.exe”。我的问题是我不希望用户仅仅通过更改文件的名称或位置来中断它。有没有办法知道文件的名称或位置是否更改?

我已经设法做所有事情,从找到程序到杀死,使用杀死它并使用.Kill()随机打开所需的 .exe 文件

     Random rand = new Random(DateTime.Now.Millisecond);
     int progNum = rand.Next(1, 3);
     string progName = "a.exe";

     switch (progNum)
     {
        case 2:
           progName = "b.exe";
           break;
        case 3:
           progName = "c.exe";
           break;
     }

     Process.Start(@"c:\" + progName);

但我不太清楚如何跟踪这些文件的更改。目前,每分钟,我都会搜索驱动器并搜索 exe 文件,如果在我想要的目录中找不到,但这还不够,并且不会注意到简单的名称更改。

  • 还有其他方法吗?
  • 还是在文件更改后跟踪的更好方法?
  • 或者甚至只是在内存中保留一份副本并将其保存到硬盘驱动器中,如果在需要的位置上找不到?
4

1 回答 1

2
var ie = Process.GetProcesses()
            .FirstOrDefault(p => p.ProcessName.Equals("iexplore"));

if (ie != null)
    ie.Kill();
于 2013-07-08T14:44:06.023 回答