首页 > 其他 > 详细

根据文件夹大小停止某进程

时间:2014-04-04 03:06:34      阅读:358      评论:0      收藏:0      [点我收藏+]
#define SEARCHFILETYPE "*.*"
#define SYSCONFIG "config.ini"


int g_FileSize = 100;


int getFileSize(string &sFileName)
{
struct stat buf;
int iRet = stat(sFileName.c_str(), &buf);
if (iRet == -1)
return NULL;
return buf.st_size;
}
void getAllFileName(const string& directory, const string& extName){
_finddata_t fileInfo;
intptr_t hFile;
string filter = directory;
if(filter[filter.size()-1] != ‘//‘){
filter.push_back(‘//‘);
}
filter += "*.";
filter += extName;
hFile = _findfirst(filter.c_str(),&fileInfo);
if(hFile == -1){
return;
}
do {
string name(fileInfo.name);
string filePath = directory +"\\"+ name;
//cout<<"file :"<<name<<endl;
   //cout<<"filePath :"<<filePath<<endl;
int  FileMaxSize=1024*1024*g_FileSize;//10M
int fSize=getFileSize(filePath);
//cout<<"fSize :"<<fSize<<endl;
if (fSize>FileMaxSize) //如果文件大小超过了10M,需要备份
{
                        cout<<"filePath :"<<filePath<<endl;
system("taskkill /f /im XXX.exe");
}

} while (_findnext(hFile,&fileInfo) == 0);
_findclose(hFile);
}


int _tmain(int argc, _TCHAR* argv[])
{
char buf[1000]="";  
GetCurrentDirectory(1000,buf);  //得到当前工作路径


char path[1024]; 
sprintf(path,"%s\\%s",buf,SYSCONFIG);


char dir[256];
GetPrivateProfileString(_T("config"), _T("TempPath"),_T(""), dir, 256, _T(path));


int sleeptime = GetPrivateProfileInt(_T("config"), _T("Sleep"),10000, _T(path));
    g_FileSize  = GetPrivateProfileInt(_T("config"), _T("FileMaxSize"),100, _T(path));


cout<<"TempPath :"<<dir<<endl;
cout<<"sleeptime :"<<sleeptime<<endl;
cout<<"FileMaxSize :"<<g_FileSize<<endl;
 
while(1)
{
getAllFileName(dir,SEARCHFILETYPE);
Sleep(sleeptime);
}


getchar();



return 0;
}

根据文件夹大小停止某进程,布布扣,bubuko.com

根据文件夹大小停止某进程

原文:http://blog.csdn.net/loveheronly/article/details/22894593

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!