在C#中获取主目录的路径?

2024-02-27

好的,我已经查过了Environment.SpecialFolder,但里面没有任何东西。

我想在C#中获取当前用户的主目录。 (例如。c:\documents and settings\user在XP下,c:\users\user在 Vista 下,以及/home/user在 Unix 下。)

我知道我可以读取环境变量来找出这一点,但我想以跨平台的方式做到这一点。

有什么办法可以用.NET(最好使用mscorlib)来做到这一点?

UPDATE:好的,这是我最终使用的代码:

string homePath = (Environment.OSVersion.Platform == PlatformID.Unix || 
                   Environment.OSVersion.Platform == PlatformID.MacOSX)
    ? Environment.GetEnvironmentVariable("HOME")
    : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");

您正在寻找Environment.SpecialFolder.UserProfile这是指C:\Users\myname在 Windows 和/home/myname在 Unix/Linux 上:

Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)

注意Environment.SpecialFolder.Personal是我的文档(或win7及以上版本的文档),但与Unix/Linux上的主目录相同。

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

在C#中获取主目录的路径? 的相关文章

  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 使用 C# 读取 Soap 消息

  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且

随机推荐

  • 将地图/字典的 Spark Dataframe 列扁平化为多列

    我们有一个DataFrame看起来像这样 DataFrame event string properties map
  • 在vim中显示尾随空格

    我在 vimrc 中设置了以下选项 set listchars tab trail set list 并期望在代码中使用空格进行制表的那些地方看到点 我使用空格 而不是制表符 然而 结果却不同 您能否建议如何达到预期的结果 谢谢 你应该检查
  • 从列表中选择随机值,直到它们在Python中消失

    使用 Python 我想从列表中随机选择人员 并将他们分成 5 人一组 而不是多次选择同一个人 人们由两个标准定义 年龄和性别 人员名单如下所示 PPL 1 4 6 2 5 5 3 7 3 4 2 8 5 4 6 其中每个列表中的 3 个数
  • Google Shopping REST API 按类别限制

    我正在尝试按类别限制 Google 购物请求 在这种情况下 我只希望返回实际的电影 DVD 蓝光 这是我要传递的内容 其中 MY KEY 是我从以下位置获得的密钥 https code google com apis console pro
  • 如何更改用于指示已在 TabHost 上选择选项卡的颜色?

    在安卓上TabHost layout 当用户选择一个选项卡时 选项卡的颜色会暂时改变 如何禁用此颜色更改 或指定选项卡更改为的颜色 UPDATED 我没有制作自己的示例并因此而获得荣誉 而是找到了我的旧书签教程 如何更改 Android 选
  • liquibase.properties 中的 Liquibase 变更日志参数

    根据文档 参数值按以下顺序查找 作为参数传递给 Liquibase 运行程序 有关如何传递它们的信息 请参阅 Ant command line 等文档 作为 JVM 系统属性 在 DatabaseChangeLog 文件本身的参数块 Tag
  • 上传时转换视频[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想在用户上传视频时将其转换 例如从 wmv 格式转换为 flv 我可以转换视频或单独上传 但如何立即执行这些操作 我使用 ffmpeg 进行转换 例
  • 如何创建一个简单的谷歌地图地址搜索并在flutter中自动完成并获取纬度和经度?

    我是 Flutter 的新手 我正在尝试构建一个简单的谷歌地图应用程序 我已经在应用程序中实现了谷歌地图 并且运行完美 但现在我想添加谷歌地图自动完成功能 但我找不到专注于它的简单教程或示例 我有一个文本字段 我想根据用户输入的内容显示其下
  • Facebook 以页面管理员身份发布页面提要

    var message test var picture http l yimg com f i tw ks show 120604 mntl01 jpg var link https www youtube com watch v BIl
  • ReactJS:当输入元素进入 DOM 时如何将焦点设置到输入元素?

    如何将焦点设置到input元素进入 DOM 时 Scenario 单击按钮时 将显示输入元素 如何将焦点设置到该元素 代码片段 class Component extends React Component constructor prop
  • 错误处理仅有效一次

    我有一个非常简单的 VBA 代码 应该尝试打开一个不存在的文件 将我发送到错误处理程序 然后以无限循环返回到我的代码 故意 但是 编译器仅在第一次捕获错误 然后在第二次传递时中断 我已经尝试了 On Error 语句的每种组合以在第二次传递
  • 如何增加 QListWidget 中项目/行的填充(或边距)?

    我们正在寻找一种方法来增加填充 或边距 QListWidget我们正在我们的应用程序中使用 我们希望为所有四个方向增加此值 以便为列表中的文本提供一些额外的空间 我查看了两者的文档QListWidget http doc qt io qt
  • 关闭按钮仅适用于 Qt 中的某些选项卡

    我正在使用 Qt 完成大学作业 并且我想使用QTabWidget显示一个聊天窗口 就像Pidgin s https www pidgin im 我想让 群聊 选项卡始终打开且无法关闭 而其余 私人频道 选项卡可关闭 QTabWidget s
  • 所有页面/视图都需要 Blazor /Pages 文件夹吗?

    使用默认的 Blazor helloworl 应用程序 我将 FetchData razor 页面复制到单独的自定义文件夹中 结果 页面未正确呈现 页面正在占用 整个屏幕 导航菜单消失了 问题 blazor 页面 视图必须位于 Pages
  • 如何在不使用任何算术运算的情况下求 x mod 15?

    假设我们得到一个无符号整数 并且不使用任何算术运算符 即 or 我们要找到x mod 15 我们可以使用二进制位操作 据我所知 我是根据两点得出这个结论的 a a mod 15 a mod 16 for a lt 15 Let a x mo
  • 从 Firefox 的缓存中读取脚本标签的来源

    我正在向我的应用程序添加一些错误报告 我希望能够报告类中的方法名称 即使该函数可能是匿名的 到目前为止 我的解决方案涉及通过使用 XmlHttpRequest 加载脚本标签来读取脚本标签的源代码 我的问题是 Firefox 不会从缓存加载
  • 如何管理露天的访问权限

    大家好 提前感谢您的帮助 我正在尝试在露天配置访问权限 但现在陷入了一个场景如果有人定义实现此功能的正确方法 那将会有很大帮助现在我的问题是 我想创建一个网站 所有用户都可以访问 然后将在该站点中创建文件夹和子文件夹 如果需要 我准备自定义
  • K 最近邻算法 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 使用 KNN 算法 假设 k 5 现在我尝试通过获取 5 个最近的邻居来对未知对象进行分类 如果确定 4 个最近邻居后 接下来的 2 个
  • 将 Angular 7 部署到 github 页面

    我有一个简单的 Angular7 应用程序 它只有两条路线 主要是 文章 如果你在本地测试它 它会起作用 但是当你放到 github 页面上时 它只会加载页面的 css 我按照以下角度文档进行部署文档 https angular io gu
  • 在C#中获取主目录的路径?

    好的 我已经查过了Environment SpecialFolder 但里面没有任何东西 我想在C 中获取当前用户的主目录 例如 c documents and settings user在XP下 c users user在 Vista 下