如何阻止用户使用无效快捷方式运行应用程序?

时间:2014-04-21 16:38:50

标签: c# .net

我的工作环境是我的部门维护我们公司用户使用的各种内部应用程序,具有不同的计算机技能水平。

过去,我们遇到过许多问题,用户将快捷方式从一台计算机复制到另一台计算机,或者更糟糕的是,使用他们从其他用户通过电子邮件发送给他们的应用程序的快捷方式。

在大多数情况下,它并没有真正导致任何问题。但是,我们偶尔会得到支持票,因为有人试图运行路径不正确的快捷方式,或者指向网络上的另一台机器并加载错误的文件。

我们正在研究一些新的应用程序,我很乐意找到一种方法来防止这种情况发生。

我最初的想法是以某种方式找到一种方法来读取程序的执行方式,并以某种方式回溯到快捷方式的位置并找出它的运行位置。此时我可以验证快捷方式和/或限制快捷方式。即以某种方式强制程序直接由exe或桌面快捷方式启动。我真的不知道如何找到那个叫做exe-path的快捷方式......

思考?想法?

1 个答案:

答案 0 :(得分:1)

您的实现将由您自己决定,但一个很好的初步检查是检查快捷方式文件的路径属性。例如,如果有人通过电子邮件向另一个用户发送了快捷方式并将其放在桌面上,则该路径将包含通过电子邮件发送快捷方式而不是当前用户的用户。除此之外,您可以尝试:

File.Exists(shortcutPath);

您可以将一些简单的规则捆绑到一个控制台应用程序中,该应用程序以递归方式检查计算机上的所有快捷方式,如果它们无效,则删除它们。