我使用的folderBrowseDialog让用户能够选择程序将保存一些文件的位置。有一个问题,用户可以选择应用程序无法操作的路径,例如“c:\”(程序由用户而非管理员启动)C++ cli检查文件是否可以在这里创建,FolderBrowseDialog
我见过一些程序,建议我更改我的路径到“我的文档”,每当我尝试选择一条USER无法操作的路径时,我无法弄清楚如何去做。 请注意,我使用的是folderBrowseDialog而不是savefiledialog。
所以我想也许我会弹出警告,使用FileIOPermission。但对于一些reasone它不起作用。这里是我写的一个快速代码,但是这个例外永远不会抛出。 FileIOPremission on MSDN
using namespace System::Security::Permissions;
FileIOPermission^ f2 = gcnew FileIOPermission(FileIOPermissionAccess::Write,"C:\\");
try {
f2->Demand();
}
catch (System::Security::SecurityException^ s){
MessageBox::Show(s->Message);
}
那么,你的答案不是很有帮助。我只是试图创建一个简单的程序,节省了一个屏幕拍摄。我问如何检查我是否有权在此文件夹中写入或不写入。 – 2012-04-05 13:22:56
嗯,我回答说。捕获IOException。使用DirectoryInfo :: GetAccessControl()可以使它变得更加复杂。这增加了很多代码,但并没有阻止你必须捕捉异常,因为其他原因你无法检查。您需要编写该代码才能理解答案的有用性。 – 2012-04-05 13:28:52