Uruchomienie zew. aplikacji

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
lucek
Gaduła
Gaduła
Posty: 362
Rejestracja: 06 sty 2014, 16:24

Uruchomienie zew. aplikacji

Nieprzeczytany post autor: lucek »

Cześć.

Nie potrafię zrobić tak aby uruchomiła się zew. aplikacja.

Czy zrobić to wskaźniku? EA?

Skopiować gdzieś te biblioteki?

kod dla wskaźnika:

Kod: Zaznacz cały

#import "Shell32.dll"
   int ShellExecuteA(int hwnd, string lpOperation, string lpFile, string lpParameters, int lpDirectory, int nShowCmd);
#import


int start()
  {
   ShellExecuteA(0, "open", "cmd", "shutdown -s -f -t 7200", 0, 0);
   return(0);
  }
Nie działa. Dodam, że nie kopiowałem nigdzie biblioteki itd. Tylko ten kod uruchomiłem i zero reakcji. W ustawieniach również zaznaczyłem aby dołączam zew. biblioteki czy coś takiego. Proszę o pomoc
No pain, no gain

Awatar użytkownika
investsoft.pl
Stały bywalec
Stały bywalec
Posty: 35
Rejestracja: 30 sie 2013, 11:38

Re: Uruchomienie zew. aplikacji

Nieprzeczytany post autor: investsoft.pl »

W nowych wersjach MQL-a używany jest UNICODE zamiast ANSI wobec czego zamiast ShellExecuteA należy użyć funkcji ShellExecuteW:

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                                 ShellExecute.mq4 |
//|                                     Copyright © 2014, InvestSoft |
//|                                         http://www.investsoft.pl |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2014, InvestSoft"
#property link      "http://www.investsoft.pl"

//---- definitions
#define OPERATION       "open"
#define DEFDIRECTORY    NULL

//----  nShowCmd values
#define SW_HIDE             0
#define SW_SHOWNORMAL       1
#define SW_NORMAL           1
#define SW_SHOWMINIMIZED    2
#define SW_SHOWMAXIMIZED    3
#define SW_MAXIMIZE         3
#define SW_SHOWNOACTIVATE   4
#define SW_SHOW             5
#define SW_MINIMIZE         6
#define SW_SHOWMINNOACTIVE  7
#define SW_SHOWNA           8
#define SW_RESTORE          9
#define SW_SHOWDEFAULT      10
#define SW_FORCEMINIMIZE    11
#define SW_MAX              11

//---- import of SHELL32 DLL
#import "shell32.dll"
   int ShellExecuteW(int hWnd,string lpVerb,string lpFile,string lpParameters,string lpDirectory,int nCmdShow);
#import

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int OnStart()
  {
//---- 
   ShellExecuteW(0, OPERATION, "shutdown", " -s -f -t 7200", DEFDIRECTORY, SW_SHOW);
//----
   return(0);
  }
//+------------------------------------------------------------------+

ODPOWIEDZ