SMBIOS'tan bilgi alma - sayfa 4

 
Vitaly Muzichenko :

Başka kim asmayı kontrol ederdi

Bu yüzden onu asmadan dışarı attım.

 
JRandomTrader :

Bu yüzden onu asmadan dışarı attım.

uuid'in doğru verilip verilmediğini hwinfo ile kontrol etmek istemediniz.

 

İşte düzeltmeler.

Gerçek kullanım için, ekstra bilgiye ihtiyacınız olmadığında, yorum yapın / #define SMBIOS_DEBUG tanımlamayın

Dosyalar:
SMBIOS.mqh  6 kb
 
Edgar Akhmadeev :

İşte düzeltmeler.

Gerçek kullanım için, ekstra bilgiye ihtiyacınız olmadığında, yorum yapın / #define SMBIOS_DEBUG tanımlamayın

Ve mqh fazla koddan nasıl temizlenebilir, böylece sadece Yazdır ("UUID: ", uuid);

 
Vitaly Muzichenko :

Ve mqh fazla koddan nasıl temizlenebilir, böylece sadece Yazdır ("UUID: ", uuid);

#ifdef SMBIOS_DEBUG / #endif ile sarılmış her şeyi kaldırın

#else içindeki bölümleri silme

 
Edgar Akhmadeev :

#ifdef SMBIOS_DEBUG / #endif ile sarılmış her şeyi kaldırın

#else içindeki bölümleri silme

Genel olarak, kodu okuyamıyorum, her şey çok yığılmış. Bir şeyi silmek - Her şeyi bozarım.

Komut dosyasının kendisine aktarılan birkaç satır bırakmak istiyorum

İşte bölüm C numarasını almanın kodu, her şey kısa ve net

 #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);
}

---

Lütfen böyle yapar mısınız?

 
Vitaly Muzichenko :

Genel olarak, kodu okuyamıyorum, her şey çok yığılmış. Bir şeyi silmek - Her şeyi bozarım.

Komut dosyasının kendisine aktarılan birkaç satır bırakmak istiyorum

İşte bölüm C numarasını almanın kodu, her şey kısa ve net

---

Lütfen böyle yapar mısınız?

Kitaplıktaki kodu temizlemenin, belirli ihtiyaçlara göre ayarlamanın amacı nedir? Kodun bu kısımları gerekli olmadığında derlenmez. Sadece kütüphaneyi ekleyin ve tek satırda çağrılır

 string uuid = SMBIOS::Read();

Kodu anlamak için mi? İşlev benim standartlarıma göre küçük. Açıkladığım gibi dikkatlice kaldırırsanız - her şey sarmalayıcıda #ifdef / #endif, ancak #else / #endif arasında bırakarak - hiçbir şey kırılmaz. Kodun yarısı hala kalacaktır. Aynı yerde, bu sadece bir talep ve düzenleme değil, aynı zamanda bir dizi veri bloğu üzerinde yineleme, işleme ve kaydetmedir.

 
Edgar Akhmadeev :

Kitaplıktaki kodu temizlemenin, belirli ihtiyaçlara göre ayarlamanın amacı nedir? Kodun bu kısımları gerekli olmadığında derlenmez. Sadece kütüphaneyi ekleyin ve tek satırda çağrılır

Kodu anlamak için mi? İşlev benim standartlarıma göre küçük. Açıkladığım gibi dikkatlice kaldırırsanız - her şey sarmalayıcıda #ifdef / #endif, ancak #else / #endif arasında bırakarak - hiçbir şey kırılmaz. Kodun yarısı hala kalacaktır. Aynı yerde, bu sadece bir talep ve düzenleme değil, aynı zamanda bir dizi veri bloğu üzerinde yineleme, işleme ve kaydetmedir.

Diğer yoldan gitmeye çalışacağım, belki bu işe yarar.

Son girişim buna yol açtı ama tabii ki verileri de görmedim.


 

Kozmetik bir düzeltme yapıldı, pompalamak gerekli değil

 #define SIG(a, b, c, d) ((a << 24 ) + (b << 16 ) + (c << 8 ) + d)

const uint SMBIOS_signature = SIG( 'R' , 'S' , 'M' , 'B' );

c++ gibi olmasını isterdim

const uint SMBIOS_signature = 'RSMB';

MQL'de var mı

 datetime d = D'2020.07.06' ;

Belki bazı incelikleri bilmiyorum?

Dosyalar:
SMBIOS.mqh  6 kb
 
Edgar Akhmadeev :

Kozmetik bir düzeltme yapıldı, pompalamak gerekli değil

c++ gibi olmasını isterdim

MQL'de var mı

Belki bazı incelikleri bilmiyorum?

Çok teşekkürler, her şey yolunda gitti!