mirror of
https://github.com/HolographicHat/Yae.git
synced 2025-12-13 18:08:15 +08:00
catch wmi error
This commit is contained in:
@@ -115,7 +115,7 @@ const exportData = async proto => {
|
|||||||
const question = (query) => new Promise(resolve => {
|
const question = (query) => new Promise(resolve => {
|
||||||
rl.question(query, resolve)
|
rl.question(query, resolve)
|
||||||
})
|
})
|
||||||
const chosen = await question("导出至: \n[0] 椰羊 (https://cocogoat.work/achievement)\n[1] Paimon.moe\n[2] Seelie.me\n[3] 表格文件 (默认)\n> ")
|
const chosen = await question("导出至: \n[0] 椰羊 (https://cocogoat.work/achievement)\n[1] Paimon.moe\n[2] Seelie.me\n[3] 表格文件 (默认)\n输入一个数字(0-3): ")
|
||||||
rl.close()
|
rl.close()
|
||||||
switch (chosen) {
|
switch (chosen) {
|
||||||
case "0":
|
case "0":
|
||||||
|
|||||||
@@ -113,18 +113,29 @@ namespace native {
|
|||||||
if (RegUtils::GetString(HKEY_CURRENT_USER, L"Control Panel\\International\\Geo", L"Name", country) != ERROR_SUCCESS) {
|
if (RegUtils::GetString(HKEY_CURRENT_USER, L"Control Panel\\International\\Geo", L"Name", country) != ERROR_SUCCESS) {
|
||||||
country = L"CN";
|
country = L"CN";
|
||||||
}
|
}
|
||||||
auto computer = retrieveWmi<Win32_ComputerSystem>();
|
|
||||||
auto os = retrieveWmi<Win32_OperatingSystem>();
|
|
||||||
string osv = os.Version;
|
|
||||||
Object obj = Object::New(env);
|
Object obj = Object::New(env);
|
||||||
obj.Set("model", Napi::String::New(env, computer.Model));
|
|
||||||
obj.Set("locale", Napi::String::New(env, WStringToString(locale)));
|
obj.Set("locale", Napi::String::New(env, WStringToString(locale)));
|
||||||
obj.Set("oemName", Napi::String::New(env, computer.Manufacturer));
|
|
||||||
obj.Set("osBuild", Napi::String::New(env, osv + "." + to_string(buildNum)));
|
|
||||||
obj.Set("osVersion", Napi::String::New(env, osv));
|
|
||||||
obj.Set("screenSize", Napi::String::New(env, to_string(sw) + "x" + to_string(sh)));
|
obj.Set("screenSize", Napi::String::New(env, to_string(sw) + "x" + to_string(sh)));
|
||||||
obj.Set("carrierCountry", Napi::String::New(env, WStringToString(country)));
|
obj.Set("carrierCountry", Napi::String::New(env, WStringToString(country)));
|
||||||
obj.Set("timeZoneOffset", Napi::Number::New(env, os.CurrentTimeZone));
|
try {
|
||||||
|
auto computer = retrieveWmi<Win32_ComputerSystem>();
|
||||||
|
obj.Set("model", Napi::String::New(env, computer.Model));
|
||||||
|
obj.Set("oemName", Napi::String::New(env, computer.Manufacturer));
|
||||||
|
} catch (Wmi::WmiException &e) {
|
||||||
|
obj.Set("model", Napi::String::New(env, "Unknown"));
|
||||||
|
obj.Set("oemName", Napi::String::New(env, "Unknown"));
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
auto os = retrieveWmi<Win32_OperatingSystem>();
|
||||||
|
string osv = os.Version;
|
||||||
|
obj.Set("osBuild", Napi::String::New(env, osv + "." + to_string(buildNum)));
|
||||||
|
obj.Set("osVersion", Napi::String::New(env, osv));
|
||||||
|
obj.Set("timeZoneOffset", Napi::Number::New(env, os.CurrentTimeZone));
|
||||||
|
} catch (Wmi::WmiException &e) {
|
||||||
|
obj.Set("osBuild", Napi::String::New(env, "Unknown"));
|
||||||
|
obj.Set("osVersion", Napi::String::New(env, "Unknown"));
|
||||||
|
obj.Set("timeZoneOffset", Napi::Number::New(env, 480));
|
||||||
|
}
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user