Визуальное открытие текстового файла

 
Такой вопрос - а можно ли в MQL5 визуально открыть файл txt? Например пользователь нажал кнопку и открылась программа Блокнот с нужным файлом
 
Murat Ishakov:
Такой вопрос - а можно ли в MQL5 визуально открыть файл txt? Например пользователь нажал кнопку и открылась программа Блокнот с нужным файлом

Можно так.

#import "shell32.dll"
int ShellExecuteW(int, string, string, string, string, int);
#import
//+------------------------------------------------------------------+
void OnStart()
  {
   shell32::ShellExecuteW(NULL, "open", "C:\\Users\\Isrander\\Desktop\\Новый текстовый документ.txt", NULL, NULL, 1);
  }
//+------------------------------------------------------------------+
 
Aleksandr Slavskii #:
shell32::ShellExecuteW(NULL, "open", "C:\\Users\\Isrander\\Desktop\\Новый текстовый документ.txt", NULL, NULL, 1);

Спасибо, помогло. А как закрывать? Прописываю close, но не получается

 
Murat Ishakov #:

Спасибо, помогло. А как закрывать? Прописываю close, но не получается

А зачем придумывать велосипед?
Програма "блокнот" прекрасно закрывается кликом на крестик в правом верхнем углу)
 
Aleksandr Slavskii #:
А зачем придумывать велосипед?
Програма "блокнот" прекрасно закрывается кликом на крестик в правом верхнем углу)
Всё же хочется автоматизации, чтобы по одному нажатию и закрывалась, и информация из неё в другой файл переносилась. Это всё из-за того, что нету в MQL5 многострочного поля ввода. Да, видел серию статей о самодельной реализации этого элемента, но совсем не то - нельзя выделять текст мышью, нельзя копировать или вставить
 
Murat Ishakov #:
Всё же 
Понятно. 
Ну предложил, что знаю, больше увы ничего на ум не приходит.
 
Murat Ishakov #:
Всё же хочется автоматизации, чтобы по одному нажатию и закрывалась, и информация из неё в другой файл переносилась. Это всё из-за того, что нету в MQL5 многострочного поля ввода. Да, видел серию статей о самодельной реализации этого элемента, но совсем не то - нельзя выделять текст мышью, нельзя копировать или вставить
PostMessage попробуйте. И т.д.
 
Dmitriy Skub #:
PostMessage попробуйте. И т.д.
А можно пожалуйста подробнее?
 
CreateProcessW(NULL,"notepad.exe C:\\file.txt",NULL,NULL,0,0,NULL,NULL,si,pi);
Файлы:
 
Dmitry Fedoseev #:

Дмитрий, вы видимо по ошибке выложили исполняемый файл вместо исходного.  Но вопрос не в этом.


Создал в корне диска С  текстовый документ, обозвал его file.txt, запускаю ваш экзешник-ничего не происходит, открываю текстовый документ, запускаю ваш экзешник-ничего не происходит.

Было предположение, что ваша программа будет либо открывать, либо закрывать его, но ни то ни другое, почему то не происходит.

Может быть я не правильно, что то понял и ваша программа делает, что то другое, но тогда что?

 
Ага. Заменил файл.