// create mutex to block yamyd\r
m_hMutexYamyd = CreateMutex((SECURITY_ATTRIBUTES *)NULL, TRUE, MUTEX_YAMYD_BLOCKER);\r
\r
- BOOL result = CreateProcess(_T("yamyd32"), _T("yamyd32"), NULL, NULL, FALSE,\r
+ tstring yamydPath;\r
+ _TCHAR exePath[GANA_MAX_PATH];\r
+ _TCHAR exeDrive[GANA_MAX_PATH];\r
+ _TCHAR exeDir[GANA_MAX_PATH];\r
+\r
+ GetModuleFileName(NULL, exePath, GANA_MAX_PATH);\r
+ _tsplitpath_s(exePath, exeDrive, GANA_MAX_PATH, exeDir, GANA_MAX_PATH, NULL, 0, NULL, 0);\r
+ yamydPath = exeDrive;\r
+ yamydPath += exeDir;\r
+ yamydPath += _T("yamyd32");\r
+\r
+ BOOL result = CreateProcess(yamydPath.c_str(), NULL, NULL, NULL, FALSE,\r
NORMAL_PRIORITY_CLASS, 0, NULL, &m_si, &m_pi);\r
if (result == FALSE) {\r
TCHAR buf[1024];\r
\r
#include <windows.h>\r
#include <tchar.h>\r
+#include "stringtool.h"\r
#include "mayurc.h"\r
\r
/// main\r
STARTUPINFO si;\r
PROCESS_INFORMATION pi;\r
BOOL result;\r
- TCHAR *yamyPath = _T("yamy32");\r
+ tstring yamyPath;\r
+ _TCHAR exePath[GANA_MAX_PATH];\r
+ _TCHAR exeDrive[GANA_MAX_PATH];\r
+ _TCHAR exeDir[GANA_MAX_PATH];\r
+\r
+ GetModuleFileName(NULL, exePath, GANA_MAX_PATH);\r
+ _tsplitpath_s(exePath, exeDrive, GANA_MAX_PATH, exeDir, GANA_MAX_PATH, NULL, 0, NULL, 0);\r
+ yamyPath = exeDrive;\r
+ yamyPath += exeDir;\r
\r
pIsWow64Process =\r
(ISWOW64PROCESS)::GetProcAddress(::GetModuleHandle(_T("kernel32.dll")),\r
if (pIsWow64Process) {\r
result = pIsWow64Process(::GetCurrentProcess(), &isWow64);\r
if (result != FALSE && isWow64 == TRUE) {\r
- yamyPath = _T("yamy64");\r
+ yamyPath += _T("yamy64");\r
+ } else {\r
+ yamyPath += _T("yamy32");\r
}\r
+ } else {\r
+ yamyPath += _T("yamy32");\r
}\r
\r
- result = CreateProcess(yamyPath, yamyPath, NULL, NULL, FALSE,\r
+ result = CreateProcess(yamyPath.c_str(), NULL, NULL, NULL, FALSE,\r
NORMAL_PRIORITY_CLASS, 0, NULL, &si, &pi);\r
\r
if (result == FALSE) {\r