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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
1203
sakusakuWindows8.1のNTバージョンが正しく取得できない1解決


sakusaku

リンク

2014/12/3(Wed) 15:38:27|NO.66292

sysinfo(0) で取得できる WindowsNTバージョンが
Windows 8.1だとWindowsNT ver6.3 のはずなのに
Windows 8と同じ WindowsNT ver6.2と取得されます。

環境は HSP 3.32b
Windows 8.1 Pro 64bit
です。
ほかのみなさんもそうなっていますでしょうか?



この記事に返信する


kanahiron

リンク

2014/12/3(Wed) 16:14:59|NO.66293

HSPのsysinfo(0)はwinAPIのGetVersionExを呼び出していると思われます
GetVersionEx関数は、実行ファイルに埋め込まれているマニフェストファイルを見てwindows8.1対応と書かれていない場合、windows8のカーネルバージョンに偽装する仕様だそうです
参考 http://www.inasoft.org/talk/h201310a.html

なので、Resource Hackerでマニフェストファイルを書き換えたところsysinfo(0)でNT6.3と正しく返してくることを確認しました
SS :http://i.imgur.com/CclW8dW.png

手順
1,Resource Hacker (http://www.angusj.com/resourcehacker/)
から(StepUup File 730kb)を押してダウンロード&インストール
2,マニフェストを書き換えたい実行ファイルを右クリックしてResource Hacker開く
参考画像1 http://i.imgur.com/NrNYoMF.png
3,マニフェストを書き換える(画像を参考にしてください)
参考画像2 http://i.imgur.com/MIeg8Hu.png

参考画像2でコピペした文は自分の書き込みの3行目に書いたサイトです



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