|
2021/10/28(Thu) 03:35:46|NO.94243
お約束は、上の投稿と同じです。
最近、11や10のos判定で、色々な投稿が
出てるので、今回はこれで。
/*
os標準機能 dxdiag.exe を使ったPC情報の抜き出し
Windows7pro32ビット
- HSP3.6 2021/10/27 zrs90(5さい)
情報の抜き出し方次第ですが、ある意味、HSPのサンプルより楽?
(※もちろん、今回の方法は邪道です。)
PCに繋がって認識された物(※各ドライブ容量、モニタ、ゲームパッド等)も
表示出来てるはず?なので、必要な行の情報を引きずり出せば良いです。
難点は、必要な行を、自分でdxdiag.txtから探さなければならないのと
引きずり出した情報から、str系命令で不要部分を切り出す事です。
追記。
本当は、表示してる、dxdiag.txtに行番号つける予定でしたが
64KBの壁でエラーになる可能性の為、やめました。
スマホ投稿の為、単純な誤字があるかも。
後、インデントが入ってません。申し訳ない。
PCで作って、スマホで書いてるから
2回作ってるのと、変わんないんだよなぁ...
*/
#packopt name "pc情報(ミニ)
screen 0,1080.800
title "PC情報(ミニ) (※dxdiag.txtが無い場合、生成完了まで時間がかかります。)"
gsel 0,2
font "MS Pゴシック",16,17
exedir = dir_cur
exist "dxdiag.txt"
if strsize = -1 :{
exec “dxdiag.exe /t"
wait 1500 // 約50KBのテキストファイル作ってるから取ってはダメ。エラーになる。
dialog "dxdiag.txt作成完了", 0 ,"確認"
}
sdim dxdiag_info,64000
sdim user_info,4000
sdim pc_data,1024
notesel dxdiag_info
noteload "dxdiag.txt"
repeat 16 //取りたい行はご自由に。
notesel dxdiag_info
noteget pc_data,cnt
notesel user_info
// 欲しい所だけ情報取得。私のPCなので、ズレがあるかも。
// 後は適当に文字変数に代入、文字の切り出しをして下さい。
if cnt = 0 : noteadd ""+pc_data
if cnt = 1 : noteadd ""+pc_data
if cnt = 2 : noteadd ""+pc_data
if cnt = 3 : noteadd ""+pc_data // dxdiag取得日時
if cnt = 5 : noteadd ""+pc_data //OS名、バージョン他
if cnt = 6 : noteadd ""+pc_data // 言語(国)
if cnt = 10 : noteadd ""+pc_data // CPU型番、データ他
if cnt = 11 : noteadd ""+pc_data // 搭載メモリ(MB)
if cnt = 15 : noteadd ""+pc_data // DirectX
loop
objmode 2
pos 0,0 : mesbox user_info,1080,320,4
pos 0,334 : mes "●dxdiag自体↓"
pos 0,360 : mesbox dxdiag_info.320,4
/*
// dxdiag.txtを削除。(※個人情報保護/ハード構成の変わる方用?)
chdir ""+exedir
exist "dxdiag.txt"
if strsize = -1 : delete "dxdiag.txt"
*/
stop

| |