expertsフォルダを素早く開く術
インジケータやEA のインストールや、諸々の作業で MetaTraderのインストール先フォルダを開く機会は多々あると思います。
デスクトップ上のフォルダのショートカットを置いたり、エクスプローラのお気に入りに登録すれば簡単に開けるようになりますが、MT4の数が増えてくると意外に面倒です。
そこで、今日は MT4 を起動中にexpertsフォルダを素早く開く術を紹介します。
(a)ターミナルウィンドウからたどり着く。
ターミナルウィンドウの操作履歴画面を右クリックして「開く」を選ぶと、logs フォルダが開けます。
logsフォルダから、1つ上のフォルダに上がれば、expertsフォルダが見つかります。
(b)フォルダオープン用のscript を使う
AutoHotKey を使っていない人向けのソリューションです。
下記スクリプトを scripts フォルダにインストールしてください。
#import "shell32.dll" int ShellExecuteA(int hWnd,int Verb,string File,int Parameter,int Path,int ShowCommand); #import #define SW_SHOWNORMAL 1 int start() { if(!IsDllsAllowed()){ Alert("Tool Menu -> Option -> Expert Advisors TAB --> Check Allow DLL imports"); return(0); } ShellExecuteA( 0,"open",TerminalPath()+"\\experts",NULL,NULL,SW_SHOWNORMAL); return(0); }
TerminalPath()+"\\experts" で開く場所を指定しているので、他の場所を開きたい人は適宜カスタマイズできます。
(c)AutoHotKey にキー登録する。
AutoHotKey を利用している人はこちらがお勧めです。
Win+E キー を押すと、アクティブなMT4 の experts フォルダを開きます。
#IfWinActive ahk_class MetaQuotes::MetaTrader::4.00 #E:: WinGet, pid,PID,A FullPath :=GetModuleFileNameEx(pid) DirPath := RegExReplace(FullPath,"(.*)\\[^\\]+$","$1\experts") Run, explore %DirPath% return #IfWinActive GetModuleFileNameEx(ProcessID) ; modified version of shimanov's function { ; #define PROCESS_VM_READ (0x0010) ; #define PROCESS_QUERY_INFORMATION (0x0400) hProcess := DllCall( "OpenProcess", "UInt", 0x10|0x400, "Int", False, "UInt", ProcessID) if (ErrorLevel or hProcess = 0) Return FileNameSize := 260 VarSetCapacity(ModuleFileName, FileNameSize, 0) CallResult := DllCall("Psapi.dll\GetModuleFileNameExA", "UInt", hProcess, "UInt", 0, "Str", ModuleFileName, "UInt", FileNameSize) DllCall("CloseHandle", hProcess) Return ModuleFileName }
これ単独でも動作するように
#IfWinActive ahk_class MetaQuotes::MetaTrader::4.00
〜
#IfWinActive
で囲っていますが、既に使用中の Accela.ahk 内には定義されているので、注意してコピーしてください。