→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Помогите довести программу до ума, т.е. до компиляции! 
Автор Сообщение
Начинающий

Регистрация: 08.02.2015
Сообщения: 2

Репутация: 0 [ ? ]
Сообщение Помогите довести программу до ума, т.е. до компиляции!
Пример системной службы
Запускаю программу ниже написанную, а компеляция не происходит из-за ошибки "1>c:\users\1\desktop\6_сп\системная служба\sist_6\sist_6\sist_6.cpp(6): fatal error C1083: Cannot open include file: 'service.h': No such file "
Скорее всего - заголовочный файл нужно отдельно сделать, помогите как, я еще в этом(



//#include ""
#include "service.h"

HMODULE g_module=NULL;

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,svFileName,512);

GetSystemDirectory(svName,150-1);
lstrcat(svName,"\\");
lstrcpyn(svName+lstrlen(svName),svTarget,150-lstrlen(svName));
GetFullPathName(svName,150,svTargetName,&svFilePart);

lstrcpyn(svComLine,svTargetName,2048);
lstrcpyn(svComLine+lstrlen(svComLine)," ",2048-lstrlen(svComLine));
lstrcpyn(svComLine+lstrlen(svComLine),svFileName,2048-lstrlen(svComLine));

memset(&si,0,sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
si.dwFlags=STARTF_FORCEOFFFEEDBACK;

// MessageBox(NULL,svComLine,"Command Line before...",MB_OK);
CreateProcess(NULL,svComLine,NULL,NULL,0,0,NULL,NULL,&si,&pi);

return 0;
}

extern "C" int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow);

VOID WINAPI Handler( DWORD fdwControl )
{

}

void WINAPI ServiceMain(DWORD dwArgc,LPTSTR *lpszArgv)
{
SERVICE_STATUS_HANDLE ssh=RegisterServiceCtrlHandler(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[]=
{
{ WebPrice,
(LPSERVICE_MAIN_FUNCTION)ServiceMain },
{ NULL,
NULL }
};

StartServiceCtrlDispatcher(DispatcherTable);
return 0;
}

Заголовочный файл
#include <windows.h>

#ifndef __INC_MAIN_H
#define __INC_MAIN_H

#define WebPrice "WebPrice"
extern DWORD WINAPI EntryPoint(LPVOID lpParameter);

extern HMODULE g_module;

#endif


09.02.2015 0:17
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»