我正在用 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 文件,如果在我想要的目录中找不到,但这还不够,并且不会注意到简单的名称更改。
- 还有其他方法吗?
- 还是在文件更改后跟踪的更好方法?
- 或者甚至只是在内存中保留一份副本并将其保存到硬盘驱动器中,如果在需要的位置上找不到?