Files
Client/Server/AdminTool/AdminToolServer/RYL_AdminWinMain.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

62 lines
1.4 KiB
C++

#include "stdafx.h"
#include <crtdbg.h>
#include <Thread/Lock.h>
#include <Utility/Debug/ExceptionReport.h>
#include <Log/ServerLog.h>
#include "RYL_AdminManagerServer.h"
#include "resource.h"
#include <GameGuardLib/ggsrv.h>
GGAUTHS_API void NpLog(int mode, char* msg)
{
}
GGAUTHS_API void GGAuthUpdateCallback(PGG_UPREPORT report)
{
}
// !Execption
int WINAPI ExceptionUserFunc(char* szBuffer, int nBufferLen)
{
g_Log.Flush();
g_SessionLog.Flush();
return _snprintf(szBuffer, nBufferLen, "Exception Occured. Flush all buffers.");
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
CNamedMutex Mutex("ROWAdminToolServer", true);
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
MessageBox(NULL, "Already AdminToolServer process exist.", "Err", MB_OK);
return false;
}
// Exception ¿É¼Ç ¼³Á¤
unsigned long dwExceptionFeatures =
CExceptionReport::CATCH_EXCEPTION | CExceptionReport::USE_MINIDUMP | CExceptionReport::USE_REPORT;
CExceptionReport::GetInstance().Enable(dwExceptionFeatures);
CExceptionReport::GetInstance().SetDumpLevel(MiniDumpWithFullMemory);
CExceptionReport::GetInstance().SetUserFunc(ExceptionUserFunc);
CRylAdminManagerServer& RylAdminMgrServer = CRylAdminManagerServer::GetInstance();
// ¼­¹ö ÃʱâÈ­
if(RylAdminMgrServer.Initialize(
hInstance, "AdminToolServer", lpCmdLine, IDI_TRAY_ICON, IDR_MENU_POPUP))
{
RylAdminMgrServer.ProcessMessage();
}
return false;
}