/* Burlex: Moved from exitcodes.h -- due to duplicate symbols */
const char* ExitCodes[] =
{
- "No error", /* 0 */
+ "No error", /* 0 */
"DIE command", /* 1 */
"execv() failed", /* 2 */
"Internal error", /* 3 */
this->Cleanup();
/* Figure out our filename (if theyve renamed it, we're boned) */
+ std::string me;
+
#ifdef WINDOWS
- std::string me = Config->MyDir + "inspircd.exe";
+ char module[MAX_PATH];
+ if (GetModuleFileName(NULL, module, MAX_PATH))
+ me = module;
#else
- std::string me = Config->MyDir + "/inspircd";
+ me = Config->MyDir + "/inspircd";
#endif
if (execv(me.c_str(), Config->argv) == -1)
sh.lpVerb = 0;
sh.lpDirectory = 0;
sh.hInstApp = 0;
- sh.nShow = SW_SHOW;
+ sh.nShow = SW_HIDE;
sh.lpFile = "inspircd.exe";
sh.lpParameters = "--service";
if(!ShellExecuteEx(&sh))