0

嗨,是否可以防止我的 .exe 应用程序被重命名..?

这是 senario(我的问题)

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

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

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

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

4

8 回答 8

3

你不能真的试图阻止它。这是用户的计算机,如果他们想重命名计算机上的文件,他们可以这样做。

于 2011-06-09T09:06:39.483 回答
1

这是不可能的。

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

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

于 2011-06-09T09:15:47.350 回答
0

您可以将您的应用程序放在用户不太可能去的地方并重命名它,例如在程序文件文件夹中。但是您无法阻止他们实际重命名应用程序。

于 2011-06-09T09:10:54.387 回答
0

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

于 2011-06-09T09:15:42.067 回答
0

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

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

于 2011-06-09T09:16:18.583 回答
0

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

这是有关ClickOnce Publishing的一些信息。

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

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

于 2011-06-09T09:24:44.043 回答
0
  1. 正如大多数人在这里解释的那样,通过权限方式。
  2. 愚蠢和浪费的方法是让一个守护进程(服务)在系统启动后一直运行访问这个文件。这样,除非该守护进程停止,否则系统将不允许重命名该可执行文件。
于 2011-06-09T09:48:04.213 回答
-3

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

于 2012-07-30T14:05:39.203 回答