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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
1107
チャーくんCPUの商品名を取得4解決


チャーくん

リンク

2014/11/7(Fri) 21:31:09|NO.65944

CPUの商品名、たとえばIntel Core i5とかi7とか...
DLLはできるだけ使いたくありません。
今まで検索で引っかかったのは、全部XP向けのものばかりで...
Windows NT 6〜でもできるのってないですか?



この記事に返信する


cats

リンク

2014/11/7(Fri) 22:27:59|NO.65945

>DLLはできるだけ使いたくありません。
DLLは必ず使わなければならないというのは分かりますか。
調べたところ色々とでてきました。
以下は[HSPBC]から引用しました。
http://www.rinku.zaq.ne.jp/ultimate/tips/

#uselib "advapi32.dll" #cfunc global RegOpenKeyEx "RegOpenKeyExA" int, sptr, int, int, var #cfunc global RegQueryValueEx "RegQueryValueExA" int, sptr, int, var, var, var #func global regclose "RegCloseKey" int #module #defcfunc gethkey str string, local i, local s mref rstr, 65 s.0 = "HKEY_CLASSES_ROOT", "HKEY_CURRENT_USER", "HKEY_LOCAL_MACHINE", "HKEY_USERS" s.4 = "HKEY_PERFORMANCE_DATA", "HKEY_CURRENT_CONFIG", "HKEY_DYN_DATA" rstr = string if strmid(rstr, 0, 1) ! "H" : return s(int(rstr)) if instr(rstr, , "\\") ! -1 : rstr = strmid(rstr, 0, instr(rstr, , "\\")) foreach s if s.cnt = rstr { i = 0x80000000 + cnt rstr = string rstr = strmid(rstr, instr(rstr, , "\\") + 1, strlen(rstr) - instr(rstr, , "\\") - 1) break } loop return i #defcfunc regopenkey var hkey, var path, int sa, local s return RegOpenKeyEx(int(gethkey(path)), refstr, , (sa = 0) * 0x000F003F + sa, hkey) #defcfunc reggetvalue var data, int hkey, str name, int type, local i i = 256 i.1 = RegQueryValueEx(hkey, name, , i.2, data, i) if type : data = i.2 return i.1 #global sdim dat, 128 value = "ProcessorNameString" type.0 = "NONE", "SZ", "EXPAND_SZ", "BINARY", "DWORD", "DWORD_BIG_ENDIAN" type.6 = "LINK", "MULTI_SZ", "RESOURCE_LIST", "", "", "QWORD" path = gethkey("2") + "\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0" if regopenkey(key, path) { mes "キーが存在しません" } else { if reggetvalue(dat, key, value) = 0 { mes "CPU情報[ " + dat + " ]" } else { mes "値が存在しません" } regclose key }
この場合はレジストリから取得しているので管理者権限は必要です。



hori

リンク

2014/11/7(Fri) 23:28:31|NO.65946

レジストリを読み込むだけなら管理者権限は不要なはずですが。
実際に以下のは不要です。

#include "advapi32.as" #define HKEY_LOCAL_MACHINE $80000002 #define KEY_QUERY_VALUE $00000001 size=1024 sdim cpuname,size RegOpenKeyEx HKEY_LOCAL_MACHINE,("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"),0,KEY_QUERY_VALUE,varptr(hkey) RegQueryValueEx hKey,"ProcessorNameString",0,0,varptr(cpuname),varptr(size) RegCloseKey hKey mes cpuname



skyblue

リンク

2014/11/8(Sat) 07:31:48|NO.65949

標準にレジストリを読み込むやつがあったはずです。
環境変数の実体のキーを読み込むと言うものです。



チャーくん

リンク

2014/11/8(Sat) 15:30:57|NO.65956

hori さんのスクリプトで出来ました!
回答ありがとうございました。



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