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?
答案 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?
}
那将完成这项工作。