首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

服务程序,多谢

2014-01-17 
求一个服务程序,谢谢想用CB6做一个服务程序,通过定时监控某一文件的大小关闭或启动某一程序;没做过服务程

求一个服务程序,谢谢
想用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操作了。

热点排行