我的 winform 应用程序使用 xml 文件来存储数据,我应该将它们存储在哪里以便 Vista 用户可以写入数据?

2024-01-29

我的 winform 应用程序使用 xml 文件来存储数据,我应该将它们存储在哪里以便 Vista 用户可以写入数据?

Thanks


Use the Environment.GetFolderPath http://msdn.microsoft.com/en-us/library/system.environment.getfolderpath.aspx以独立于操作系统的方式获取最合适的文件夹。

特别是,您需要以下 SpecialFolder 值之一:

  • ApplicationData- 如果文件是漫游的、按用户分配的并且仅供应用程序使用,并且不代表用户可能关心的文档。
  • LocalApplicationData- 如果文件是非漫游的、按用户的且仅供应用程序使用且不代表用户可能关心的文档。
  • CommonApplicationData- 如果文件是漫游的,对所有用户来说都是通用的,并且仅供应用程序使用,并且不代表用户可能关心的文档。NOTE:在 Vista 上这映射到C:\ProgramData,默认情况下对于普通用户来说是只读的(因为更改其中的文件可能会影响管理员使用的程序的行为)。您可以显式更改应用程序子文件夹的权限,或选择其他选项之一。
  • MyDocuments- 如果文件是针对每个用户的并且代表文档。

请注意,没有SpecialFolder枚举值如CommonDocuments这将代表机器范围的文档存储,即使有一个文件夹旨在充当一个文件夹(C:\Documents and Settings\All Users\Documents在 XP 和C:\Users\Public\Documents在 Vista 上)。如果您想写入这些位置,您必须自己找到操作系统版本并选择适当的文件夹。

内部Environment.GetFolderPath使用 Win32 APISHGetFolderPath http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx。使用的枚举SHGetFolderPath为您提供其他几个特殊文件夹(包括通用文档)的众所周知的位置。你可以直接使用SHGetFolderPath;你可以找到它p/调用定义 http://www.pinvoke.net/default.aspx/shell32/SHGetFolderPath.html以及相应的CSIDL 枚举定义 http://www.pinvoke.net/default.aspx/shell32/CSIDL.html在 PInvoke.net 上。

您还可以使用IsolatedStorage http://msdn.microsoft.com/en-us/library/3ak841sy.aspx。但是,它是不可漫游的、每用户的、配额有限的,并且用户无法从 Windows 资源管理器轻松访问。因此,它实际上是一个中/低信任度,相当于SpecialFolder.ApplicationData.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 winform 应用程序使用 xml 文件来存储数据,我应该将它们存储在哪里以便 Vista 用户可以写入数据? 的相关文章

  • 检测计算机何时解锁 Windows

    我用过这个优秀的方法 https stackoverflow com questions 20733441 lock windows workstation using python 20733443锁定 Windows 计算机 那部分工作
  • 按比例调整图片框的大小以调整表单大小

    我希望每次 用户调整表单的大小 图片框中的图像也使用相同的值 按比例 调整大小 我在互联网上搜索了一些代码并在中找到了这个答案堆栈溢出 https stackoverflow com a 6501997 3264464 https stac
  • 如何解析无效(错误/格式不正确)的 XML?

    目前 我正在开发一项功能 该功能涉及解析从其他产品收到的 XML 我决定针对一些实际的客户数据运行一些测试 看起来其他产品允许用户输入应被视为无效的输入 无论如何 我仍然必须尝试找出解析它的方法 我们正在使用javax xml parser
  • 如何在非托管 ATL GUI 中嵌入 Windows 窗体?

    我有一个使 COM 可见的 Windows 窗体用户控件 现在我想将该控件嵌入到 ATL 对话框 GUI 中 ATL项目 非托管C 只应获取winform的progID并在运行时动态创建和嵌入它 这可能吗 如果可以 我该怎么做 我不确定 A
  • 使用ASP/VB获取节点属性值

    我有以下 XML 架构
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 当responseText包含有效的Xml时,IXMLHttpRequest.responseXml为空,没有解析错误

    我正在从中获取一些 XML政府网站 http www bankofcanada ca stats assets rates rss noon en all xml http www bankofcanada ca stats assets
  • 扩展 XSD 文件

    我有一个带有枚举类型的 XSD 文件 我想创建一个 扩展 XSD 文件 它添加一些额外的枚举 但其他方面的行为就像主 XSD 一样 例如 主 XSD 文件包含以下内容
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • C# 按钮文本 Unicode 字符

    C 不想在按钮上放置 Unicode 字符 如果我将 u2129 放入按钮的 文本 属性中 按钮将显示 u2129 而不是 Unicode 字符 例如 我选择 2129 因为我可以在计算机上当前活动的字体中看到它 我之前看到过这个问题链接文
  • 选择具有 SQL Server XML 列类型的特定行

    我正在尝试从类似于以下定义的表中选择数据 Column Data Type Id Int DataType Int LoggedData XML 但我只想选择具有特定 DataType 值并且在 LoggedData 列中包含字符串 或评估
  • 如何以编程方式对 WebBrowser 控件安全警报回答“是”

    我正在使用 WebBrowser 控件以编程方式访问单个网站 但每当我登录时 我都会收到此证书安全警报 由于我信任该网站 并且我还需要以编程方式自动登录 因此此对话框会妨碍我 我搜索了解决方案并发现一个和我类似的问题 https stack
  • 带有嵌套表的 XSLT 中的数据对齐问题

    我正在通过 FoundationPHP 使用 XSLT 和嵌套表生成 Word 文档 我想要的结果是 Table 1 Table 2 Image 1 Image 2 Label 1 Label 2 Data 1 Data 2 Table 3
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐