2012-08-09 119 views
1

我已经以.zip文件的形式打包了.NET应用程序。 用户需要解压缩本地硬盘上的文件以创建包含可执行文件和相关资源的目录。 但是,用户不断解压缩网络驱动器上的文件并从那里执行应用程序,并因此而出现问题。强制从本地计算机执行

如果用户从网络驱动器运行并关闭应用程序,可以通过显示消息强制用户从本地硬盘驱动器运行文件?

+0

这可能是你在找什么:http://stackoverflow.com/questions/837488/how-可以-I-GET-的应用程序路径,在净IN-A-控制台应用程序。一旦你知道路径,你可以确定它是否是一个网络位置。 – Arj 2012-08-09 09:23:08

回答

3

您只需检查路径是否为网络路径并提供错误消息。

步骤:

  1. 获取路径或运行的应用程序:

    var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

  2. 检查路径是网络路径:

    [DllImport("shlwapi.dll")]

    private static extern bool PathIsNetworkPath(string pszPath);

    if(PathIsNetworkPath(path))...

  3. 给出错误信息

参见:PathIsNetworkPath

+0

非常整齐,谢谢!这对于Win32来说非常容易,哈哈。 – 2012-08-09 10:59:00