C#中如何编程判断Office是32位还是64位

moonspot 2014-12-11 10:12:14
最近发现编写的程序在目标机器安装了64位的MS Office时运行会出错。所以想在程序中判断目标机器中安装的Offic是32位还是64位。
在VBA中有个Win64常量可以判断,但是不知道C#中如何使用这个变量。
...全文
767 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonspot 2015-01-12
  • 打赏
  • 举报
回复
想到一个办法,就是事件建一个Word文档、或Excel文档,文档里建一个VBA过程,过程中用win64判断一下。自己的程序去运行这个文档中的VBA过程,获取它的返回值,就可以判断出来了。
xian_wwq 2014-12-12
  • 打赏
  • 举报
回复
查注册表,比较简单
VisualTeam 2014-12-12
  • 打赏
  • 举报
回复
除了注册表名应该还可以判断 C:\Program Files下的文件夹吧,32位会在C:\Program Files(X86)
moonspot 2014-12-12
  • 打赏
  • 举报
回复
引用 11 楼 liucqa 的回复:
判断cpu、判断C#编译位数、判断office位数,这是三个不同的问题吧 楼主是哪个问题?
Office是32位,还是64位?
moonspot 2014-12-11
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
试试这个,不要再纠结OFFICE版本和位数
这是干嘛用的?
moonspot 2014-12-11
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
http://stackoverflow.com/questions/1953377/how-to-know-a-process-is-32-bit-or-64-bit-programmatically
这里给出的方法判断的结果不对啊
moonspot 2014-12-11
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
http://stackoverflow.com/questions/1953377/how-to-know-a-process-is-32-bit-or-64-bit-programmatically
这里给出的方法判断的结果不对啊
moonspot 2014-12-11
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
http://stackoverflow.com/questions/1953377/how-to-know-a-process-is-32-bit-or-64-bit-programmatically
这里给出的方法判断的结果不对啊
泡泡龙 2014-12-11
  • 打赏
  • 举报
回复
判断cpu、判断C#编译位数、判断office位数,这是三个不同的问题吧 楼主是哪个问题?
Alphy2011 2014-12-11
  • 打赏
  • 举报
回复
如果你是在程序中判断,可以读Application.ProductCode来判断. http://support.microsoft.com/kb/928516/zh-cn
threenewbee 2014-12-11
  • 打赏
  • 举报
回复
IsWoW64Process API
灬浪子灬 2014-12-11
  • 打赏
  • 举报
回复
引用 楼主 moonspot 的回复:
最近发现编写的程序在目标机器安装了64位的MS Office时运行会出错。所以想在程序中判断目标机器中安装的Offic是32位还是64位。 在VBA中有个Win64常量可以判断,但是不知道C#中如何使用这个变量。
读注册表
扯淡砖家 2014-12-11
  • 打赏
  • 举报
回复
引用 6 楼 moonspot 的回复:
[quote=引用 5 楼 Z65443344 的回复:] 试试这个,不要再纠结OFFICE版本和位数
这是干嘛用的?[/quote] 这个是一个可以读写excel文件的链接库。用了这个,电脑上不装office excel,都可以读写xls的文件

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧