想用来判断语言包的,所以必须有这个判断,而网上的那些资料很难理解
解决方案 »
- 金山毒霸免费了,今天刚开始,都进来发表一下看法吧
- 如何在指定路径下生成文件夹?
- 请问如何实现对文件的远程操作?
- 怎么返回窗口控件的对象指针
- 高手近! 四个帖子300分,都给你! dll中创建的线程 怎么和 主exe程序 通信?????没有人用过吗?不可能吧. 高手呢.
- 关于CTab
- 用盗版的2000安装盘安装后的winnt\symbols目录下空空的,据我所知这个目录是用来放符号文件的,可是这些符号文件在安装盘里似乎没有,请
- 子窗口间切换的问题!
- 请问下面这些gb2312字符有没有对应的形似的ascii字符?
- 一个不关技术的问题,来抢分喔!!!!
- 求高手指点Runtime error到底是什么错误?
- VC 获取word路径
包含头文件 #include "tlhelp32.h"
OSVERSIONINFOEX WinVersion;
ZeroMemory(&WinVersion,sizeof(OSVERSIONINFOEX));
WinVersion.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX);
DWORD dwMajorVersion,dwMinorVersion,dwPlatformID;
BOOL flag=(BOOL)GetVersionEx((OSVERSIONINFO *)&WinVersion);
if(flag)
{
if (5==WinVersion.dwMajorVersion) //判断高版本号
{
MessageBox("高版本,表示2000以上");
}
if (1==WinVersion.dwMinorVersion)
{
MessageBox("低版本,表示NT版本的不同系统"); //判断低版本号
}
dwMajorVersion=WinVersion.dwMajorVersion;
dwMinorVersion=WinVersion.dwMinorVersion;
dwPlatformID=WinVersion.dwPlatformId;
}
OSVERSIONINFOEX结构
包含操作系统版本信息这些信息包括主要和次要版本号,内部版本号,一个平台标识符,并在系统上安装最新的Service Pack的信息。这个结构是用来与GetVersionEx的函数。OSVERSIONINFOEX是OSVERSIONINFO结构的扩展版本。
dwMajorVersion和dwMinorVersion和OSVERSIONINFOEX.wProductType等一起标识一个系统
详情见这里:http://msdn.microsoft.com/en-us/library/ms724833(v=vs.85).aspxWindows 7:dwMajorVersion==6 && dwMinorVersion==1 && OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Vista:dwMajorVersion==6 && dwMinorVersion==0 && OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
正解.
或去读注册表 或其他什么地方 能标市的
dwMajorVersion == 6
dwMinorVersion == 1
dwMajorVersion == 5
dwMinorVersion == 1
如果用了兼容模式,指定了操作系统版本,可能会这样。
因为不用兼容模式无法运行看了下MSDN,也许还可以根据系统的DLL版本号来判断系统版本,比如这里:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776779(v=vs.85).aspx
因为不用兼容模式无法运行看了下MSDN,也许还可以根据系统的DLL版本号来判断系统版本,比如这里:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776779(v=vs.85).aspx关键是,兼容模式后,dwBuildNumber都变成了2600 , 不知道这个dll会不会也改变
因为不用兼容模式无法运行看了下MSDN,也许还可以根据系统的DLL版本号来判断系统版本,比如这里:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776779(v=vs.85).aspx关键是,兼容模式后,dwBuildNumber都变成了2600 , 不知道这个dll会不会也改变DLL是不会变的...
因为不用兼容模式无法运行看了下MSDN,也许还可以根据系统的DLL版本号来判断系统版本,比如这里:http://msdn.microsoft.com/en-us/library/windows/desktop/bb776779(v=vs.85).aspx关键是,兼容模式后,dwBuildNumber都变成了2600 , 不知道这个dll会不会也改变DLL是不会变的...这个还是不实用,因为我的C盘是安装XP的,D盘才是WIN7,这样一来,先搜索C盘的话,就会导致以C盘XP的版本为先来使用语言,但是在WIN7系统里,SetThreadLocale 已经不起作用了
用API取当前的系统路径就好了呀,GetSystemDirectory
不用自己去搜索,用API获取到当前系统的路径,再拼出DLL的路径就可以了。
用API取当前的系统路径就好了呀,GetSystemDirectory
不用自己去搜索,用API获取到当前系统的路径,再拼出DLL的路径就可以了。谢了,顺便问一下,用注册表可以吗?
LPCTSTR data_Set="Software\\Microsoft\\Windows NT\\CurrentVersion\\";
用API取当前的系统路径就好了呀,GetSystemDirectory
不用自己去搜索,用API获取到当前系统的路径,再拼出DLL的路径就可以了。谢了,顺便问一下,用注册表可以吗?
LPCTSTR data_Set="Software\\Microsoft\\Windows NT\\CurrentVersion\\";
注册表应该也可以...