Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения - страница 33

 
JRandomTrader:

Ну, вообще-то, "Wine (originally an acronym for "Wine Is Not an Emulator")"  :)

У меня вполне себе боевой МТ ходит мало того, что под вайном, так ещё и в виртуалке.

Я знаю, что такое wine. Много лет использовал на работе linux и wine ("когда это ещё не было трендом"). Долго занимался любовью с MT под wine. Понимаю, что актуальные и правильно настроенные версии работают "достаточно хорошо". Но я устал тратить драгоценное время на ненужные грабли. Я за нативное линукс-приложение. А раз его нет и не будет - использую W7 и ненавистную W10.

 
А чем не нравится привязка к торговому счёту?
Одному или нескольким...
 
Aliaksandr Hryshyn:
А чем не нравится привязка к торговому счёту?
Одному или нескольким...

Да, сам-то я тоже к счёту и ФИО привязываю (для своего пользования). Но здесь, вероятно, требуется кому-то давать эксперта без права передачи, но с возможностью у себя использовать любые счета.


 

Я сегодня написал код по поставленной задаче. Завтра, возможно, оформлю. Получается примерно так (данные с HWiNFO совпадают):

System Management BIOS Version: 2.7

System BIOS Version: 15.28

Embedded Controller Firmware Version: 16.90

BIOS Vendor: Hewlett-Packard

BIOS Version: F.1C

BIOS Release Date: 01/23/2013

UUID: {31334333-4139-3038-3331-453031314531}

System Manufacturer: Hewlett-Packard

Product Name: HP Pavilion dv6 Notebook PC

Product Version: 0691210000204610000620100

Product Serial Number: 2CE1520FWM

SKU Number: A7N65EA#ACB

Family: 103C_5335KV G=N L=CON B=HP S=PAV        

Mainboard Manufacturer: Hewlett-Packard

Mainboard Name: 17FA

Mainboard Version: 10.5A

Mainboard Serial Number: PCKYU2B2E1Z32H

Asset Tag: Base Board Asset Tag

Location in chassis: Base Board Chassis Location
Для привязки годятся UUID, серийник ноутбука и серийник материнки.
 
Edgar Akhmadeev:

Да, сам-то я тоже к счёту и ФИО привязываю (для своего пользования). Но здесь, вероятно, требуется кому-то давать эксперта без права передачи, но с возможностью у себя использовать любые счета.


У меня это как-то так:

#define EXT

#ifndef EXT
   sinput double Lot=1.0;
   sinput bool REAL=false;
#else
   #include "symbol.txt"
   #include "account.txt"

   #ifndef ACCOUNT
      #define ACCOUNT 0
      #define TEST
   #endif
   #ifndef SYMBOL
      #define TEST
   #endif

   #ifdef TEST
      double Lot=1.0;
      bool REAL=false;
   #else
      sinput double Lot=1.0;
      bool REAL=true;
   #endif

#endif
 
Aliaksandr Hryshyn:
А чем не нравится привязка к торговому счёту?
Одному или нескольким...

Это очень долго и печально.

Не один Я такой, кто меняет торговые счета раз в неделю, а когда есть несколько пользователей, то пол-дня только будешь тем и заниматься, что вписывать новые счета и компилировать. При этом это не сразу, и кому-то придётся ждать.

А так дал программу привязанную к железу и забыл.

 
Создал тему https://www.mql5.com/ru/forum/365503
Получение информации из SMBIOS
Получение информации из SMBIOS
  • 2021.03.23
  • www.mql5.com
Написал код для чтения информации о железе (материнская плата и платформа) из SMBIOS. Используется, естественно, WinAPI. SMBIOS...
 
Vitaly Muzichenko:

Кто может сказать, возможно ли этот код запустить в метатрейдере?

---

Может есть другой способ получения Motherboard SerialNumber?

Если ещё надо, то это возможно:

#define _WIN64  // Only for a 64-bit terminal!

#include <WbemCli.mqh>

//+-----------------------------------------------------------------------------------------------+
//| Script program start function                                                                 |
//+-----------------------------------------------------------------------------------------------+
void OnStart()
{
   HRESULT result = CoInitialize( 0 );
   if( result == S_OK ){
      lpWbemLocator pLoc;
      result = CoCreateInstance( CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, IID_IWbemLocator, pLoc.mInterface );
      if( result == S_OK ){
         lpWbemServices pSvc;
         result = pLoc.ConnectServer( "root\\CimV2", "", "", "", pSvc );
         if( result == S_OK ){
            result = CoSetProxyBlanket( pSvc.mInterface, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, 0, RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, 0, EOAC_NONE );
            if( result == S_OK ){
               lpEnumWbemClassObject pEnumerator;
               // Получаем серийный номер материнской платы.
               Print( ">>>  Серийный номер материнской платы  <<<" );
               result = pSvc.ExecQuery( "SELECT * FROM Win32_BaseBoard", pEnumerator );
               if( result == S_OK ){
                  uint uReturn = 0;
                  while( result == S_OK ){
                     lpWbemClassObject pclsObj;
                     result = pEnumerator.Next( pclsObj, uReturn );
                     if( uReturn == 0 )
                        break;
                     Variant vtProp;
                     result = pclsObj.Get( "SerialNumber", vtProp );
                     if( result == S_OK ){
                        Print( "SerialNumber", ": ", vtProp.toString() );
                     }
                     pclsObj.Release();
                  }
               }
            }
            pSvc.Release();
         }
         pLoc.Release();
      }
      CoUninitialize();
   }
}
//+-----------------------------------------------------------------------------------------------+

Библиотеку брать  здесь

Работает и в MT4 и в MT5.
Файлы:
WbemCli.mqh  11 kb
WMITest.mq5  17 kb
 
Koldun Zloy:

Если ещё надо, то это возможно:

Библиотеку брать  здесь

Спасибо!

Уже сделали код, который работает в мт4 и мт5

Получение информации из SMBIOS
Получение информации из SMBIOS
  • 2021.03.23
  • www.mql5.com
Написал код для чтения информации о железе (материнская плата и платформа) из SMBIOS. Используется, естественно, WinAPI...
 
Как сказал наш товарищ Мао: Пусть цветут сто цветов.
Интересно, uuid совпадает?
Причина обращения: