我使用的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