在 AutoCAD 运行时编辑 Program Files 目录中的 Settings.txt 文档
Edit Settings.txt Document within Program Files directory during AutoCAD runtime
我正在尝试将 AutoCAD 用户的设置存储在他们的 Program Files 下的目录中。最初,我将所有内容都存储在用户的收藏夹文件夹中,但我想将所有插件 documents/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 框架配置工具。
如果单击“继续”,应用程序将忽略此错误并尝试继续。
委托人权限请求失败。
没有管理员权限,应用无法写入 Program Files 文件夹。程序文件文件夹(及其下的子文件夹)受管理员保护,以防止程序用恶意等效代码替换已安装的可执行代码。只是不要那样做。
如果需要特定于应用程序的数据,请使用 appData 文件夹。您可以使用 System.Environment.SpecialFolder.ApplicationData
和 Environment.GetFolderPath
访问该文件夹
熟悉 SpecialFolder
枚举(以及 System.IO.Path.Combine
)。它们是访问 Windows OS.
中所有知名文件夹的正确方法
我正在尝试将 AutoCAD 用户的设置存储在他们的 Program Files 下的目录中。最初,我将所有内容都存储在用户的收藏夹文件夹中,但我想将所有插件 documents/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 框架配置工具。
如果单击“继续”,应用程序将忽略此错误并尝试继续。
委托人权限请求失败。
没有管理员权限,应用无法写入 Program Files 文件夹。程序文件文件夹(及其下的子文件夹)受管理员保护,以防止程序用恶意等效代码替换已安装的可执行代码。只是不要那样做。
如果需要特定于应用程序的数据,请使用 appData 文件夹。您可以使用 System.Environment.SpecialFolder.ApplicationData
和 Environment.GetFolderPath
熟悉 SpecialFolder
枚举(以及 System.IO.Path.Combine
)。它们是访问 Windows OS.