Этот же самый код на МТ4 работает без проблем
Ошибка в терминале?
Баги больше нельзя в сервисдеск отправлять?
Не работает там кнопка
long hWnd,
HINSTANCE ShellExecuteW( [in, optional] HWND hwnd, [in, optional] LPCWSTR lpOperation, [in] LPCWSTR lpFile, [in, optional] LPCWSTR lpParameters, [in, optional] LPCWSTR lpDirectory, [in] INT nShowCmd );
Взято отсюда:
https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew
HWND это long
LPCWSTR это строка, а точнее, указатель на область в памяти на последовательность юникод-символов. Если заменять, то на long.
Работает:
#define SW_SHOW 5 #import "shell32.dll" int ShellExecuteW(long hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd); #import void OnStart() { string fileNAME=TerminalInfoString(TERMINAL_PATH)+"\\MQL5\\Files\\test.html"; Print(ShellExecuteW(NULL,NULL,fileNAME,NULL,NULL,SW_SHOW)); Print(ShellExecuteW(NULL,NULL,"calc",NULL,NULL,SW_SHOW)); }
Результат:
2022.03.14 16:17:08.700 1 (EURUSD,M1) 2 2022.03.14 16:17:08.711 1 (EURUSD,M1) 42
2 -это ERROR_FILE_NOT_FOUND, у меня такого файла нету
42 - больше 32, значит всё хорошо, и запустился калькулятор
Взято отсюда:
https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew
HWND это long
LPCWSTR это строка, а точнее, указатель на область в памяти на последовательность юникод-символов. Если заменять, то на long.
Работает:
Результат:
2 -это ERROR_FILE_NOT_FOUND, у меня такого файла нету
42 - больше 32, значит всё хорошо, и запустился калькулятор

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот такой прием не работает, рухнет программа
Выполняется скрипт на МТ5
Операционная Windows 10 Pro 64 Bit Build 21H2
если вызывается с отдельного скрипта, то всё нормально
Этот же самый код на МТ4 работает без проблем
Ошибка в терминале?
Баги больше нельзя в сервисдеск отправлять?
Не работает там кнопка