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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0615
OSの情報取得について4解決


リンク

2017/6/15(Thu) 20:04:14|NO.80236

 こんばんは、お世話になります。

 HSPでOSの情報を取得したいと思い、下記のようなスクリプトを記述したんですが、2点ほどわからない点があるので、教えていただけると幸いです。

----------

#uselib "kernel32.dll" #func global GetNativeSystemInfo "GetNativeSystemInfo" sptr #uselib "NTDLL.dll" #func global RtlGetVersion "RtlGetVersion" sptr dim OSVERSIONINFO, 37 OSVERSIONINFO = $94 RtlGetVersion varptr(OSVERSIONINFO) dialog OSVERSIONINFO.1, 0, "メジャーバージョン" dialog OSVERSIONINFO.2, 0, "マイナーバージョン" dialog OSVERSIONINFO.3, 0, "ビルドナンバー" dialog OSVERSIONINFO.4, 0, "プラットフォームID" getstr csdversion, OSVERSIONINFO, 20 ; Corrective Service Diskette dialog csdversion, 0, "CSDバージョン" bit = 0 GetNativeSystemInfo varptr(bit) dialog ""+bit, 0, "ビット数" end

----------

 下記が質問になります。
 1.Windowsのビルド番号の小数点以下を取得することはできますか?
 2.32ビットのパソコンか64ビットのパソコンかを調べようと思ったんですが、ビット数の取得がうまくいってないみたいです。
 どのようにしたらよいでしょうか。

 以上、よろしくお願いいたします。



この記事に返信する


inovia

リンク

2017/6/15(Thu) 22:30:34|NO.80239

こうかな?
> 1.Windowsのビルド番号の小数点以下を取得することはできますか?
Update Build Revision(UBR)っていう名前らしいです。


#include "hspext.as" #uselib "kernel32.dll" #func global GetNativeSystemInfo "GetNativeSystemInfo" sptr #uselib "NTDLL.dll" #func global RtlGetVersion "RtlGetVersion" sptr dim OSVERSIONINFO, 37 OSVERSIONINFO = $94 RtlGetVersion varptr(OSVERSIONINFO) dialog OSVERSIONINFO.1, 0, "メジャーバージョン" dialog OSVERSIONINFO.2, 0, "マイナーバージョン" dialog OSVERSIONINFO.3, 0, "ビルドナンバー" dialog OSVERSIONINFO.4, 0, "プラットフォームID" getstr csdversion, OSVERSIONINFO, 20 ; Corrective Service Diskette dialog csdversion, 0, "CSDバージョン" if ( OSVERSIONINFO.1 == 10 ){ // とりあえず 10 限定。 regkey 1, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", 0 getreg nUbr, "UBR", 0 dialog nUbr, 0, "Update Build Revision" } dim bit, 9 GetNativeSystemInfo varptr(bit) if ( bit == 0 ) { // x86 dialog "32 bit" } if ( bit == 6 || bit == 9 ) { // IA64/x64 dialog "64 bit" } end



リンク

2017/6/16(Fri) 07:27:34|NO.80240

 おはようございます。
 お返事ありがとうございます。

 とりあえず、やりたかったことはできたんですが、もう1つ質問させてください。
 このビット数の6とか9とかの値は、どこに説明が書いてあったんでしょうか。
 私は、この関数の説明をMSDNの下記ページ

https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms724340(v=vs.85).aspx

で見つけたんですが、自分が読んだ範囲では、返ってくる数値に関する記述がなかったので、てっきり文字列で帰ってくるのかと思っていました。
 上記の点について、もしよろしければ教えていただけると幸いです。

 よろしくお願いします。


 追伸:Firefoxのオートコンプリートで、自分の名前が文字化けして、いつもいつも直さずに投稿してしまいそうになります(笑い)
 どうでもいいことでしたね、すみません。

 それでは。



inovia

リンク

2017/6/16(Fri) 07:51:16|NO.80242

そのMSDNページの
A pointer to a SYSTEM_INFO structure ... の
SYSTEM_INFO についているハイパーリンクのページから参照できますよ。



リンク

2017/6/16(Fri) 08:38:14|NO.80243

 こんにちは、お世話になります。

 あ、そこにあったんですね。
 見落としてました。

 ありがとうございました。



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