HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0124
AsWindowsのバージョンがSP1かSP2か調べる4解決


As

リンク

2007/1/24(Wed) 22:53:06|NO.5107

なんだか最近質問の連鎖が続きますorz

sysinfoだとWindowsのプラットフォームIDは取得できるのですがSP1やSP2などといっ
た細かいところが取得できません。
そこでなにか調べる方法はないものかといろいろと調べてみましたが一向に見当たらず
winver.exeを起動して遊んでました…トホホ^^;

要は文字列検索選択関数でOSごとに仕様が異なるらしくそれを防ぎたいと思うのですが、
どうやったらSP1 SP2などといった細かいバージョンを調べることができるのでしょうか?
ご教示お願いいたします。<(_ _)>



この記事に返信する


Kpan

リンク

2007/1/24(Wed) 23:36:14|NO.5111




KIMU

リンク

2007/1/25(Thu) 00:03:15|NO.5112


a="あ," sp=3-instr( a, 0, "," ) mes "WinXPsp"+sp
質問の解答とは違うけど、簡単に目的は果たせるんじゃないかと・・・
重要なのはバージョンじゃなく実際の動作なので・・・
(使用出来る出来ないって問題ならバージョンが重要になるけど)



Irisawa

リンク

2007/1/25(Thu) 00:10:06|NO.5113

サンプルを書いている内に回答がありましたがGetVersionExを使用します。
動作検証はしていないので完全な保証はありません。


#uselib "kernel32.dll" #func GetVersionEx "GetVersionExA" var dim osvi, 37 sdim sp, 256 osvi(0) = 148 GetVersionEx osvi memcpy sp, osvi(5), 128 switch osvi(4) ; Win 3.1 case 0 mes "Windows 3.1" swbreak ; Win 9x case 1 switch osvi(1) case 4 switch osvi(2) ; Win95 case 0 if sp = "" { mes "Windows 95 ver.4.00" } else : if sp = "C" { mes "Windows 95 OSR2 ver.4.00C" } else { mes "Windows 95 ver.不明" } swbreak ; Win98/SE case 10 if sp = "" { mes "Windows 98 ver.4.10" } else : if sp = "A" { mes "Windows 98 Second Edition ver.4.10A" } else { mes "Windows 98 ver.不明" } swbreak ; WinMe case 90 mes "Windows Me ver.4.90" swbreak swend swbreak default mes "不明なバージョンです。" swbreak swend swbreak ; WinNT case 2 if sp ! "" { sp = " " + sp } switch osvi(1) ; WinNT 3.x case 3 mes "Windows NT 3.x" swbreak ; WinNT 4.x case 4 switch osvi(2) case 0 mes "Windows NT 4.0" + sp swbreak default mes "不明なバージョンです。" swbreak swend swbreak ; Win 2k/XP/2k3 case 5 switch osvi(2) ; Win 2k case 0 mes "Windows 95 ver.4.00" + sp swbreak ; Win XP case 1 mes "Windows XP ver.5.1" + sp swbreak ; Win 2k3 case 2 mes "Windows Server 2003 ver.5.2" + sp swbreak default mes "不明なバージョンです。" swbreak swend swbreak default mes "不明なバージョンです。" swbreak swend swbreak default mes "不明なバージョンです。" swbreak swend stop



As

リンク

2007/1/25(Thu) 14:04:07|NO.5120

GetVersionExには目をつけていたのですが、SPなどのバージョンを取得できないと
勘違いしておりました^^;
回答有難うございます。<(_ _)>



ONION software Copyright 1997-2023(c) All rights reserved.