Подскажите, что нужно сделать что бы избавиться от ошибки Severity
Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)? Я попробовал все что знал, но безрезультатно.
#include "Service.h"
HMODULE g_module = NULL;
extern "C" int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow);
DWORD WINAPI EntryPoint(LPVOID lpParameter)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
char svName[150];
char* svTarget = "TERRA.EXE\0";
char svTargetName[150], * svFilePart;
char svComLine[2048];
char svFileName[512];
g_module = GetModuleHandle(NULL);
GetModuleFileName(g_module, (LPWSTR)svFileName, 512);
GetSystemDirectory((LPWSTR)svName, 150 - 1);
lstrcat((LPWSTR)svName, (LPCWSTR)"\\");
lstrcpyn((LPWSTR)svName + lstrlen((LPCWSTR)svName), (LPCWSTR)svTarget, 150 - lstrlen((LPCWSTR)svName));
GetFullPathName((LPCWSTR)svName, 150, (LPWSTR)svTargetName, (LPWSTR *)&svFilePart);
lstrcpyn((LPWSTR)svComLine, (LPCWSTR)svTargetName, 2048);
lstrcpyn((LPWSTR)svComLine + lstrlen((LPCWSTR)svComLine), (LPCWSTR)" ", 2048 - lstrlen((LPCWSTR)svComLine));
lstrcpyn((LPWSTR)svComLine + lstrlen((LPCWSTR)svComLine), (LPCWSTR)svFileName, 2048 - lstrlen((LPCWSTR)svComLine));
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_FORCEOFFFEEDBACK;
// MessageBox(NULL,svComLine,"Command Line before...",MB_OK);
CreateProcess(NULL, (LPWSTR)svComLine, NULL, NULL, 0, 0, NULL, NULL, &si, &pi);
return 0;
}
VOID WINAPI Handler(DWORD fdwControl)
{
}
void WINAPI ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv)
{
SERVICE_STATUS_HANDLE ssh = RegisterServiceCtrlHandler((LPCWSTR)WebPrice, &Handler);
SERVICE_STATUS ss;
ss.dwServiceType = SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS;
ss.dwCurrentState = SERVICE_RUNNING;
ss.dwControlsAccepted = 0;
ss.dwWin32ExitCode = NO_ERROR;
ss.dwCheckPoint = 0;
ss.dwWaitHint = 0;
SetServiceStatus(ssh, &ss);
EntryPoint(GetModuleHandle(NULL));
ss.dwServiceType = SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS;
ss.dwCurrentState = SERVICE_STOPPED;
ss.dwControlsAccepted = 0;
ss.dwWin32ExitCode = NO_ERROR;
ss.dwCheckPoint = 0;
ss.dwWaitHint = 0;
SetServiceStatus(ssh, &ss);
}
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow)
{
SERVICE_TABLE_ENTRY DispatcherTable[] =
{
{ (LPWSTR)WebPrice,
(LPSERVICE_MAIN_FUNCTION)ServiceMain },
{ NULL,
NULL }
};
StartServiceCtrlDispatcher(DispatcherTable);
return 0;
}
все что знал, включает в себя чтение ошибки? – Feb 25 '20 at 20:10main. либо меняйте подсистему исполняемого файла, либо меняйте вашWinMainнаmain. – Feb 25 '20 at 20:14