C#在重命名时阻止我的.exe win应用程序?

时间:2011-06-09 09:05:20

标签: c# exe file-rename

您可以阻止重命名我的.exe应用程序吗?

这是senario(我的问题)

运行我的程序后,(假设我运行MyApp.exe) 一个不友好的用户突然变得有趣,将我的MyApp.exe重命名为...让我们说Goodtime.exe

之后。他注销窗口(xp),然后我的程序试图在启动时运行 MyApp.exe,我不会因为它被重命名

是否可以通过代码来阻止这种情况?

感谢任何愿意帮助的人=)

8 个答案:

答案 0 :(得分:3)

你无法真正试图阻止这一点。这是用户的计算机,如果他们想要在他们的计算机上重命名文件,他们可以做。

答案 1 :(得分:1)

这是不可能的。

然而,有一种替代方法可以做到这一点。 您可以将用户设置为对其计算机具有有限的用户帐户权限。在这种情况下,他不能以他想要的方式重命名文件。这是操作系统提供的限制,其中只有计算机管理员可以将这些限制设置为用户帐户。

修改 我的意思是,如果您是计算机的管理员,作为替代方案,您可以手动限制登录到计算机的用户的权限。为了更好地理解我的意思,请阅读我的帖子上的回复。 :)

答案 2 :(得分:0)

您可以将应用程序放置在用户不太可能去的位置并重命名,就像在程序文件文件夹中一样。但你不能阻止他们实际重命名应用程序。

答案 3 :(得分:0)

如果用户不是该计算机的管理员,则默认情况下他们无权重命名Program Files目录中的文件。人们希望不友好的用户不是目标机器上的管理员(如果他们是,他们可以比重命名一个应用程序文件更糟糕。)

答案 4 :(得分:0)

您可以检查可执行文件在运行时的名称。

但是你不能阻止用户重命名它。

答案 5 :(得分:0)

您可以考虑使用clickonce发布。对于我的生活,我无法保证在用clickonce安装后可以找到红润的应用程序,这样可能会阻止友好的用户搞乱应用程序? ; - )

以下是ClickOnce Publishing的一些信息。

实质上,编写应用程序,右键单击项目/解决方案,选择“发布”,然后按照向导进行操作。

它不能保证用户无法重命名和弄乱文件,但这会让它变得更难。

答案 6 :(得分:0)

  1. 通过权限方式,大多数人在这里解释。
  2. 愚蠢和浪费的方法是让一个守护进程(Service)在系统启动后一直运行访问该文件。这样,系统不会允许重命名此可执行文件,除非此守护程序已停止。

答案 7 :(得分:-2)

您可以阻止在运行时重命名或移动您的exe文件。 在exe文件中打开exe文件以进行读取和拒绝写入。 只要它运行,请保持此文件处于打开状态。