求一个服务程序,谢谢
想用CB6做一个服务程序,通过定时监控某一文件的大小关闭或启动某一程序;没做过服务程序,有没好心人帮帮忙,给个简单的例子程序,谢谢,急用啊,在线等
[解决办法]
看《c++ builder 5 开发人员指南》第四部分的,33、34、35章,特别35章,有详细的手把手叫你创建一个服务程序的步骤,如果没有这书就搜个PDF下载,网上到处都是。
[解决办法]
上传了个超清晰版,你可以下载下来照抄
http://download.csdn.net/detail/sololie/6841635
[解决办法]
BOOL CALLBACK EnumWinProc(HWND hwnd, LPARAM lParam)
{
DWORD dwID;
GetWindowThreadProcessId(hwnd, &dwID);
if (dwID == (DWORD)lParam) {
PostMessage(hwnd, WM_QUIT, 0, 0);
return FALSE;
}
return TRUE;
}
BOOL GetProgram(LPCSTR ExeName)
{
LPCSTR File;
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
BOOL bExits = false;
if (!ExeName
[解决办法]
!ExeName[0])
return false;
File = strrchr(ExeName, '\\');
if (File!=0) ExeName = File+1;
hProcessSnap = CreateToolhelp32Snapshot(
TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == (HANDLE)-1) return false;
memset(&pe32, 0, sizeof(pe32));
pe32.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hProcessSnap, &pe32))
{
do {
File = strrchr(pe32.szExeFile, '\\');
File = File? File+1 : pe32.szExeFile;
if (strcmpi(File,ExeName)==0) {
//EnumWindows((WNDENUMPROC)EnumWinProc,
// pe32.th32ProcessID);
bExits = true;
}
}
while(Process32Next(hProcessSnap,&pe32));
}
CloseHandle(hProcessSnap);
return bExits;
}
上述是找特定名字进程进行关闭的代码,至于启动的话用shell或者process启动api函数都可以。
监控文件大小就是file操作了。