夸克之书

  • 首页
  • 科普
  • 笔记
  • .NET/C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
夸克之内,别有洞天
  1. 首页
  2. 默认
  3. 正文

C#获取本机Program Files 文件夹路径

2023-06-16 8482点热度 0人点赞 0条评论

要拿适用于自己进程的 Program Files 文件夹很简单,无脑拿就好了。不过,如果涉及到拿其他程序的,那么就会涉及到与其他程序不同架构时路径不同的问题。


在官方文档中,ProgramFiles 枚举拿的是当前进程架构下的 Program Files 文件夹,ProgramFilesX86 拿的是 x86 进程架构下的 Program Files 文件夹。

为了具体说明,可以用下面的示例程序:

using System;

namespace Walterlv.Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            var is64Bit = Environment.Is64BitProcess;
            var pfx86 = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);
            var pf = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);

            Console.WriteLine($"process = {(is64Bit ? "x64" : "x86")}");
            Console.WriteLine($"x86     = {pfx86}");
            Console.WriteLine($"current = {pf}");
        }
    }
}

在 x64 系统下,输出是:

process = x64
x86     = C:\Program Files (x86)
current = C:\Program Files

在 x86 系统下,输出是:

process = x86
x86     = C:\Program Files (x86)
current = C:\Program Files (x86)

所以,只是通过此属性的话,x86 进程不能获取到 x64 进程的目录。


参考资料

  • Environment.SpecialFolder Enum (System) - Microsoft Docs
  • C# - How to get Program Files (x86) on Windows 64 bit - Stack Overflow

转载来源:吕毅(https://blog.walterlv.com/post/get-program-files-cross-x64-x86.html)

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023-06-16

afirefish

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论
放松一下
https://www.quarkbook.com/wp-content/uploads/2021/05/凤凰传奇-海底(Live).flac
分类
  • .NET/C#
  • Linux
  • 树莓派
  • 物联网
  • 科普
  • 笔记
  • 算法
  • 默认
最新 热点 随机
最新 热点 随机
在代码中判断龙芯新旧世界平台 Windows获取固定后缀的IPv6地址 目前为止,你可能找不到第二台支持志强的1L小主机(P350 Tiny+W-1350+ECC+双NVME+PCIE扩展)!!! iKuai(爱快)实现成都移动IPTV IPoE拨号 Linux EXT4分区误删除后数据恢复 C#连接到巴法云
在代码中判断龙芯新旧世界平台
将对象转化为Get请求字符串 你见过哪些有趣的代码? 这10本物理科普书籍,足以回答你的N多问题!(转) 免费本地解析域名(locallocal.cn),支持HTTPS 在.NET 6中System.Drawing.Common引发的“The type initializer for 'Gdip' threw an exception.”异常 国内软件耻辱柱
最近评论
Eagle 发布于 9 个月前(10月21日) 参考博主教程成功搞定了成都移动IPTV组播转单播,电脑、手机都可以播放了。但目前有个问题,原IPTV...
rundoze 发布于 11 个月前(08月31日) 牛逼
cc21216695 发布于 2 年前(09月27日) 试了一下,加入启动项也无效,压根没有用
afirefish 发布于 3 年前(11月28日) 非常感谢,非常棒!
》随缘《 发布于 3 年前(11月20日) 最新【一键处理】方法: https://github.com/MrXhh/VSTools/rele...
书签
  • 打赏
  • 毒鸡汤
  • 米店
  • 金鱼直播间

COPYRIGHT © 2023 quarkbook.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备15036129号-9

登录
注册|忘记密码?