如何检查您是否有权运行exe文件

时间:2012-02-07 11:57:10

标签: c# .net-4.0 exe

C#.net Framework 4.0 有没有一种简单的方法来检查您是否有权运行文件?

在我这样做之前:

//e.g. Press a button
....
string exePath = "D:\something\something.exe";
Process.Start(exePath);

我想检查用户是否有权运行该文件? 当我正在调用函数Process.Start时,windows弹出一个消息框并说我没有被授权运行这个应用程序,这个应用程序是“D:\ something \ something.dat”而不是.exe?

2 个答案:

答案 0 :(得分:2)

  

如何检查您是否有权运行exe文件?

EAFP:请求宽恕比获取权限更容易。

因此,您可以使用try / catch块包围您的代码:

try {
    Process.Start(path);
} catch (Win32Exception ex) {
    // ...
}

并且您可以使用Win32Exception.NativeErrorCode来访问与此异常关联的错误代码的数字表示。

有关错误代码的详细信息,请查看Win32 System Error Codes

答案 1 :(得分:-1)

尝试使用Proccess.Start围绕try catch

//e.g. Press a button
....
    string exePath = "D:\something\something.exe";
    try
    {
        Process.Start(exePath);
    } catch (Exception e) {
        // No permissions or file not found?
    }

那将完成这项工作。