[更正]谈获取当前系统类型(SP OR PPC)
生活随笔
收集整理的這篇文章主要介紹了
[更正]谈获取当前系统类型(SP OR PPC)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
更正一下,以前沒發現原來要獲取平臺類型不用讀取注冊表那么麻煩的,有一個API可以利用很簡單就得到了,并且絕對準確!
函數功能描述:查詢或設置系統級參數。該函數也可以在設置參數中更新用戶配置文件。
函數原型:B00L SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni);
實現代碼
????SystemParametersInfo(SPI_GETPLATFORMTYPE,255,platform,NULL);
????if(StringEqual(platform,?TEXT("SmartPhone")))
????{
????????//SP
????}
????else?if(StringEqual(platform,?TEXT("PocketPC")))
????{
????????//PPC
????}
?
-----------------------------------------------------------------------------------------------------------
?
有時候在程序中須要獲得當前系統是SP還是PPC,GOOGLE了好半天也沒找到相關的方法,于是想到了從注冊表下手!!
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"UA-Platform"="Pocket PC"
UA-Platform此值表示當前平臺類型,如果是PPC其值是:Pocket PC,如是SP其值是:SmartPhone
這種方法不算是絕對準確,因為注冊表值可以修改,不過大多數情況下這種方法還是準確的吧。
不知道大家有沒有更好的辦法!!
以下為讀取代碼。。。
?
?
static?int?_systemType?=?-1;????????/**////?<summary>
????????///?獲得當前系統平臺(1,SP?2,PPC?3,Undefine)
????????///?</summary>
????????static?int?SystemType
????????{
????????????get
????????????{
????????????????if?(_systemType?!=?-1)?return?_systemType;?//-1表示未初始化
????????????????string?platform?=?null;
????????????????RegistryKey?keyIE_Main?=?null;
????????????????try
????????????????{
????????????????????keyIE_Main?=?Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet?Explorer\Main");
????????????????????platform?=?keyIE_Main.GetValue("UA-Platform",?"").ToString().ToLower();
????????????????}
????????????????catch?{?}
????????????????finally
????????????????{
????????????????????if?(keyIE_Main?!=?null)?keyIE_Main.Close();
????????????????}
????????????????if?(platform?==?null)
????????????????{
????????????????????//讀取失敗本次將不在讀取,置為未定義
????????????????????_systemType?=?3;
????????????????????return?_systemType;
????????????????}
?????????????????
????????????????if?(platform?==?"smartphone")
????????????????{
????????????????????_systemType?=?1;
????????????????}
????????????????else?if?(platform?==?"pocket?pc")
????????????????{
????????????????????_systemType?=?2;
????????????????}
????????????????else
????????????????{
????????????????????_systemType?=?3;
????????????????}
????????????????return?_systemType;
????????????}
????????}
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的[更正]谈获取当前系统类型(SP OR PPC)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 5.1以下如何动态抓取查询日
- 下一篇: 稳扎稳打Silverlight(13)