提问人:John89 提问时间:1/21/2021 最后编辑:John89 更新时间:4/6/2021 访问量:110
在 AutoCAD 运行时编辑程序文件目录中的设置 .txt 文档
Edit Settings.txt Document within Program Files directory during AutoCAD runtime
问:
我正在尝试将AutoCAD用户的设置存储在其Program Files下的目录中。最初,我将所有内容都存储在用户收藏夹文件夹中,但我想将所有插件文档/文件保存在同一目录中。因此,我一直在尝试各种选项来在运行时获得管理员权限,但仍然没有成功。这或多或少是我最近测试的:
Public Shared Sub GetAdminAccess()
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
Dim curIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()
Dim principalPerm As PrincipalPermission = New PrincipalPermission(Nothing, "BUILTIN\Administrators")
principalPerm.Demand()
End Sub
<PrincipalPermissionAttribute(SecurityAction.Demand, Role:="BUILTIN\Administrators")>
Private Shared Sub CreateSettingsFile()
Try
IO.File.Create(SettingsFilePath)
SettingsFileData = DefaultFileData
Property_WindowsOnTop = True
Property_SaveBackups = False
Property_SkipCreateSite = False
Property_AlignmentZoomExtents = ToFullExtents
Property_SaveBackups_Method = _TxtValue_Generic_None
Property_SaveBackups_MainDirectoryPath = _TxtValue_Generic_None
Call SetUserSettings(SettingsFileData)
Call SetPropertySettings()
Catch IOE As IO.IOException
MsgBox(IOE.Message)
Catch Ex As Exception
MsgBox(Ex.Message)
End Try
End Sub
我的许多尝试都出现了同样的错误:
“应用程序尝试执行安全策略现在允许的操作。若要授予此应用程序所需的权限,请与系统管理员联系,或使用 Microsoft.NET Framework 配置工具。
如果单击“继续”,应用程序将忽略此错误并尝试继续。
主体权限请求失败。
答:
1赞
Flydog57
1/22/2021
#1
如果没有管理员权限,应用无法写入 Program Files 文件夹。程序文件文件夹(及其下的子文件夹)受管理员保护,以防止程序将已安装的可执行代码替换为恶意等效代码。只是不要那样做。
如果需要特定于应用的数据,请使用 appData 文件夹。您可以使用 和System.Environment.SpecialFolder.ApplicationData
Environment.GetFolderPath
熟悉枚举(和 )。它们是访问 Windows 操作系统中所有知名文件夹的正确方法。SpecialFolder
System.IO.Path.Combine
评论
System.Environment.SpecialFolder.ApplicationData
)