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

Форум программистов: 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 сообщение ] 


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

Зарегистрированные пользователи: Yahoo [Bot]


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

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