从SMBIOS中检索信息 - 页 4 1234567 新评论 JRandomTrader 2021.03.23 16:22 #31 Vitaly Muzichenko:我希望有人能检查一下乙烯基。 我就是那个上传的人。 Edgar Akhmadeev 2021.03.23 16:34 #32 JRandomTrader:我只是从Win上传。 好吧,你不想用hwinfo来检查uuid是否正确。 Edgar Akhmadeev 2021.03.23 16:36 #33 以下是修复措施。 在实际使用中,当你不需要额外的信息时,可以注释/不定义 #define SMBIOS_DEBUG 附加的文件: SMBIOS.mqh 6 kb Test_SMBIOS.mq5 1 kb Vitaly Muzichenko 2021.03.23 16:59 #34 Edgar Akhmadeev:以下是修复措施。对于真正的使用,当你不需要额外的信息时,注释/不定义 #define SMBIOS_DEBUG 以及如何清理mqh中不必要的代码,以便只保留Print("UUID: ", uuid)。 Edgar Akhmadeev 2021.03.23 17:19 #35 Vitaly Muzichenko:以及如何清理mqh中多余的代码,以便只保留Print("UUID: ", uuid)。 删除所有的包装器#ifdef SMBIOS_DEBUG / #endif 不要擦除#else中的部分 Vitaly Muzichenko 2021.03.23 17:49 #36 Edgar Akhmadeev:删除所有包装#ifdef SMBIOS_DEBUG / #endif不要擦除#else中的部分 根本看不懂代码,它是如此的混乱。当删除一些东西时,我打破了一切。 我想留下一些行,并将其转移到脚本本身 下面是获取C分区号码的代码,它很短,也很有意义。 #import "kernel32.dll" bool GetVolumeInformationW(const string root_path_name, string volume_name_buffer, uint volume_name_size, uint &volume_serial_number[], uint maximum_component_length, uint file_system_flags, string file_system_name_buffer, uint file_system_name_size ); #import string SystemDriveSerialNumber() { int iVolumeSerialNumber[1]= {0}; string sVolumeSerialNumber=""; if(GetVolumeInformationW("C:\\",NULL,15,iVolumeSerialNumber,0,0,NULL,15)) { sVolumeSerialNumber=IntegerToHexString(iVolumeSerialNumber[0]); sVolumeSerialNumber=StringSubstr(sVolumeSerialNumber,0,4)+"-"+StringSubstr(sVolumeSerialNumber,4); } return(sVolumeSerialNumber); } --- 你能像这样做吗? Edgar Akhmadeev 2021.03.23 18:18 #37 Vitaly Muzichenko:我根本看不懂代码,它太复杂了。如果我删除一些东西,就会破坏一切。我想在脚本本身中留下几句话下面是获取C分区号码的代码,它很短,也很有意义。---你能像这样做吗? 清理库中的代码,调整以适应私人需要,有什么意义?这些代码片断在不需要时不会被编译。只是为了嵌入库,而且是通过单行调用。 string uuid = SMBIOS::Read(); 为了使代码有意义?按照我的标准,这个功能是很小的。如果你像我解释的那样小心地删除它--#ifdef/#endif包装中的所有内容,但在#else/#endif之间留下--就不会有什么问题。一半的代码仍将存在。它不仅仅是一个查询和输出,而是一连串的数据块、处理和重新编码。 Vitaly Muzichenko 2021.03.23 18:25 #38 Edgar Akhmadeev:清理库中的代码,调整以适应私人需要,这有什么意义?这些代码片断在不需要时不会被编译。只是一个内联库,而且只用一行代码就能调用?为了使代码有意义?按照我的标准,这个功能是很小的。如果你像我解释的那样小心地删除它--#ifdef/#endif包装中的所有内容,但在#else/#endif之间留下--就不会有什么问题。一半的代码仍将存在。它不仅仅是一个查询和输出,而是一个数据块、处理和重新编码的序列。 我将尝试另一种方法,也许会有效果。 最后一次尝试导致了这个结果,当然我也没有看到任何数据。 Edgar Akhmadeev 2021.03.23 18:35 #39 做了一个外观上的修复,不需要重新下载 #define SIG(a, b, c, d) ((a << 24) + (b << 16) + (c << 8) + d) const uint SMBIOS_signature = SIG('R','S','M','B'); 我希望它能像C++那样 const uint SMBIOS_signature = 'RSMB'; 在MQL中有一个 datetime d = D'2020.07.06'; 也许我不知道一些微妙的事情? 附加的文件: SMBIOS.mqh 6 kb Vitaly Muzichenko 2021.03.23 19:00 #40 Edgar Akhmadeev:做了一个外观上的修复,不需要重新下载我希望它能像C++那样在MQL中有一个也许我不知道任何微妙之处? 非常感谢你,它成功了! 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我希望有人能检查一下乙烯基。
我就是那个上传的人。
我只是从Win上传。
好吧,你不想用hwinfo来检查uuid是否正确。
以下是修复措施。
在实际使用中,当你不需要额外的信息时,可以注释/不定义 #define SMBIOS_DEBUG
以下是修复措施。
对于真正的使用,当你不需要额外的信息时,注释/不定义 #define SMBIOS_DEBUG
以及如何清理mqh中不必要的代码,以便只保留Print("UUID: ", uuid)。
以及如何清理mqh中多余的代码,以便只保留Print("UUID: ", uuid)。
删除所有的包装器#ifdef SMBIOS_DEBUG / #endif
不要擦除#else中的部分
删除所有包装#ifdef SMBIOS_DEBUG / #endif
不要擦除#else中的部分
根本看不懂代码,它是如此的混乱。当删除一些东西时,我打破了一切。
我想留下一些行,并将其转移到脚本本身
下面是获取C分区号码的代码,它很短,也很有意义。
---
你能像这样做吗?
我根本看不懂代码,它太复杂了。如果我删除一些东西,就会破坏一切。
我想在脚本本身中留下几句话
下面是获取C分区号码的代码,它很短,也很有意义。
---
你能像这样做吗?
清理库中的代码,调整以适应私人需要,有什么意义?这些代码片断在不需要时不会被编译。只是为了嵌入库,而且是通过单行调用。
string uuid = SMBIOS::Read();
为了使代码有意义?按照我的标准,这个功能是很小的。如果你像我解释的那样小心地删除它--#ifdef/#endif包装中的所有内容,但在#else/#endif之间留下--就不会有什么问题。一半的代码仍将存在。它不仅仅是一个查询和输出,而是一连串的数据块、处理和重新编码。
清理库中的代码,调整以适应私人需要,这有什么意义?这些代码片断在不需要时不会被编译。只是一个内联库,而且只用一行代码就能调用?
为了使代码有意义?按照我的标准,这个功能是很小的。如果你像我解释的那样小心地删除它--#ifdef/#endif包装中的所有内容,但在#else/#endif之间留下--就不会有什么问题。一半的代码仍将存在。它不仅仅是一个查询和输出,而是一个数据块、处理和重新编码的序列。
我将尝试另一种方法,也许会有效果。
最后一次尝试导致了这个结果,当然我也没有看到任何数据。
做了一个外观上的修复,不需要重新下载
我希望它能像C++那样
在MQL中有一个
也许我不知道一些微妙的事情?
做了一个外观上的修复,不需要重新下载
我希望它能像C++那样
在MQL中有一个
也许我不知道任何微妙之处?
非常感谢你,它成功了!