c# 如何获取客户端操作系统位数和所安装的Office版本?

时间:2021-10-09 05:01:59
c# 如何获取客户端操作系统位数和所安装的Office版本?

10 个解决方案

#1


刚刚搜索了一下, 有很多种, 有查注册表的, 有使用 COM 组件的.

C#如何读取Excel文件的时候判断office版本问题 二楼

c# 通过查看注册表的方式来判断电脑安装office的版本

#2


引用 1 楼 zloveyour 的回复:
刚刚搜索了一下, 有很多种, 有查注册表的, 有使用 COM 组件的.

C#如何读取Excel文件的时候判断office版本问题 二楼

c# 通过查看注册表的方式来判断电脑安装office的版本


你好。查注册表的方法我也知道,我访问部署在服务器的网站时,只会查询服务器的注册表。

使用com组件,可能会有麻烦(你给的链接中提到)
1. com组件依赖office(服务器必须安装office. 有.net  framework 支持)。
2. 经常遇到权限的问题(需要修改注册表啥的,你确定你能对服务器进行这些操作吗)。

#3


LZ思路有问题..不知道你所谓的客户端  是什么....

如果你是CS的话玩本地都是有权限的,就好比你随意安装软件一样..

如果你是BS你是无法获取"客户端"的一系列信息的..

而且你提到 

引用
你确定你能对服务器进行这些操作吗


到底是客户端还是服务器?

或者简单来说 你到底要实现什么功能?  不会是asp.net导出excel吧.....

#4


引用 3 楼 diaodiaop 的回复:
LZ思路有问题..不知道你所谓的客户端  是什么....

如果你是CS的话玩本地都是有权限的,就好比你随意安装软件一样..

如果你是BS你是无法获取"客户端"的一系列信息的..

而且你提到 

引用
你确定你能对服务器进行这些操作吗


到底是客户端还是服务器?

或者简单来说 你到底要实现什么功能?  不会是asp.net导出excel吧.....


你好。我的是BS。要实现的功能是,当我访问一个网站时,该网站能记录我电脑的操作系统位数和Office版本。

#5


引用 4 楼 skyjun1989 的回复:
你好。我的是BS。要实现的功能是,当我访问一个网站时,该网站能记录我电脑的操作系统位数和Office版本。


你应该了解得到,asp.net程序是运行在web服务器上的,不是运行在客户端的。


#6


c# 如何获取客户端操作系统位数和所安装的Office版本?

LZ进入了误区啊..

你是网页的..首先正如#5所说..这是运行在服务器而不是客户端..拿硬件信息不是那么容易的事情.

其次...我电脑64还是32 或者我office版本是03还是12 跟你web有关系吗... 你做好你自己的事就行了啊..

就好比 你去电影网站下载一个avi 你还担心客户有没有安装播放器?

这不是你考虑的事..你做好你自己就行了

#7


引用 6 楼 diaodiaop 的回复:
c# 如何获取客户端操作系统位数和所安装的Office版本?

LZ进入了误区啊..

你是网页的..首先正如#5所说..这是运行在服务器而不是客户端..拿硬件信息不是那么容易的事情.

其次...我电脑64还是32 或者我office版本是03还是12 跟你web有关系吗... 你做好你自己的事就行了啊..

就好比 你去电影网站下载一个avi 你还担心客户有没有安装播放器?

这不是你考虑的事..你做好你自己就行了


你好。我贴个例子代码

HttpBrowserCapabilities bc = context.Request.Browser;
                string browserVersion = bc.Browser + bc.Version;

                string oSystem = HttpContext.Current.Request.UserAgent;
                string OS = bc.Platform;
                if (oSystem.Contains("Windows NT 5.0") || oSystem.Contains("Windows 2000"))
                {
                    OS = "Win2000";
                }


这样可以获取访问网站的用户的浏览器版本和操作系统版本。另外,我还需要做的就是要获取用户机器的操作系统位数和office版本。请问怎样获取?

#8


引用 7 楼 skyjun1989 的回复:
这样可以获取访问网站的用户的浏览器版本和操作系统版本。另外,我还需要做的就是要获取用户机器的操作系统位数和office版本。请问怎样获取?


获取不了。

如果你给个提示说“我贴个方法,有一天‘对方告诉我她的名字’。我想问怎样随时获得对方内衣的颜色”,那么你这个就只能回答说“做不到”。

因为就是做不到。

#9


引用 8 楼 sp1234 的回复:
Quote: 引用 7 楼 skyjun1989 的回复:

这样可以获取访问网站的用户的浏览器版本和操作系统版本。另外,我还需要做的就是要获取用户机器的操作系统位数和office版本。请问怎样获取?


获取不了。

如果你给个提示说“我贴个方法,有一天‘对方告诉我她的名字’。我想问怎样随时获得对方内衣的颜色”,那么你这个就只能回答说“做不到”。

因为就是做不到。


你好。网上有段js,可以获取Office版本号
http://www.360doc.com/content/14/0122/13/15536063_347089464.shtml

#10


非ie可用js获取:
var version_of_office=([].slice.call(navigator.plugins)
    .filter(function(a){return a.name.match("Microsoft Office")})[0].name||"")
    .match(2013)||false;
alert(version_of_office);


os位数:
string osBit = context.Request.ServerVariables["Http_User_Agent"].Contains("WOW64") ? "64" : "32";

#1


刚刚搜索了一下, 有很多种, 有查注册表的, 有使用 COM 组件的.

C#如何读取Excel文件的时候判断office版本问题 二楼

c# 通过查看注册表的方式来判断电脑安装office的版本

#2


引用 1 楼 zloveyour 的回复:
刚刚搜索了一下, 有很多种, 有查注册表的, 有使用 COM 组件的.

C#如何读取Excel文件的时候判断office版本问题 二楼

c# 通过查看注册表的方式来判断电脑安装office的版本


你好。查注册表的方法我也知道,我访问部署在服务器的网站时,只会查询服务器的注册表。

使用com组件,可能会有麻烦(你给的链接中提到)
1. com组件依赖office(服务器必须安装office. 有.net  framework 支持)。
2. 经常遇到权限的问题(需要修改注册表啥的,你确定你能对服务器进行这些操作吗)。

#3


LZ思路有问题..不知道你所谓的客户端  是什么....

如果你是CS的话玩本地都是有权限的,就好比你随意安装软件一样..

如果你是BS你是无法获取"客户端"的一系列信息的..

而且你提到 

引用
你确定你能对服务器进行这些操作吗


到底是客户端还是服务器?

或者简单来说 你到底要实现什么功能?  不会是asp.net导出excel吧.....

#4


引用 3 楼 diaodiaop 的回复:
LZ思路有问题..不知道你所谓的客户端  是什么....

如果你是CS的话玩本地都是有权限的,就好比你随意安装软件一样..

如果你是BS你是无法获取"客户端"的一系列信息的..

而且你提到 

引用
你确定你能对服务器进行这些操作吗


到底是客户端还是服务器?

或者简单来说 你到底要实现什么功能?  不会是asp.net导出excel吧.....


你好。我的是BS。要实现的功能是,当我访问一个网站时,该网站能记录我电脑的操作系统位数和Office版本。

#5


引用 4 楼 skyjun1989 的回复:
你好。我的是BS。要实现的功能是,当我访问一个网站时,该网站能记录我电脑的操作系统位数和Office版本。


你应该了解得到,asp.net程序是运行在web服务器上的,不是运行在客户端的。


#6


c# 如何获取客户端操作系统位数和所安装的Office版本?

LZ进入了误区啊..

你是网页的..首先正如#5所说..这是运行在服务器而不是客户端..拿硬件信息不是那么容易的事情.

其次...我电脑64还是32 或者我office版本是03还是12 跟你web有关系吗... 你做好你自己的事就行了啊..

就好比 你去电影网站下载一个avi 你还担心客户有没有安装播放器?

这不是你考虑的事..你做好你自己就行了

#7


引用 6 楼 diaodiaop 的回复:
c# 如何获取客户端操作系统位数和所安装的Office版本?

LZ进入了误区啊..

你是网页的..首先正如#5所说..这是运行在服务器而不是客户端..拿硬件信息不是那么容易的事情.

其次...我电脑64还是32 或者我office版本是03还是12 跟你web有关系吗... 你做好你自己的事就行了啊..

就好比 你去电影网站下载一个avi 你还担心客户有没有安装播放器?

这不是你考虑的事..你做好你自己就行了


你好。我贴个例子代码

HttpBrowserCapabilities bc = context.Request.Browser;
                string browserVersion = bc.Browser + bc.Version;

                string oSystem = HttpContext.Current.Request.UserAgent;
                string OS = bc.Platform;
                if (oSystem.Contains("Windows NT 5.0") || oSystem.Contains("Windows 2000"))
                {
                    OS = "Win2000";
                }


这样可以获取访问网站的用户的浏览器版本和操作系统版本。另外,我还需要做的就是要获取用户机器的操作系统位数和office版本。请问怎样获取?

#8


引用 7 楼 skyjun1989 的回复:
这样可以获取访问网站的用户的浏览器版本和操作系统版本。另外,我还需要做的就是要获取用户机器的操作系统位数和office版本。请问怎样获取?


获取不了。

如果你给个提示说“我贴个方法,有一天‘对方告诉我她的名字’。我想问怎样随时获得对方内衣的颜色”,那么你这个就只能回答说“做不到”。

因为就是做不到。

#9


引用 8 楼 sp1234 的回复:
Quote: 引用 7 楼 skyjun1989 的回复:

这样可以获取访问网站的用户的浏览器版本和操作系统版本。另外,我还需要做的就是要获取用户机器的操作系统位数和office版本。请问怎样获取?


获取不了。

如果你给个提示说“我贴个方法,有一天‘对方告诉我她的名字’。我想问怎样随时获得对方内衣的颜色”,那么你这个就只能回答说“做不到”。

因为就是做不到。


你好。网上有段js,可以获取Office版本号
http://www.360doc.com/content/14/0122/13/15536063_347089464.shtml

#10


非ie可用js获取:
var version_of_office=([].slice.call(navigator.plugins)
    .filter(function(a){return a.name.match("Microsoft Office")})[0].name||"")
    .match(2013)||false;
alert(version_of_office);


os位数:
string osBit = context.Request.ServerVariables["Http_User_Agent"].Contains("WOW64") ? "64" : "32";