怎么使用visual studio2022监视目录中的文件变更(visual studio,开发技术)

时间:2024-05-06 09:04:29 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

这篇“怎么使用visualstudio2022监视目录中的文件变更”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用visualstudio2022监视目录中的文件变更”文章吧。

监视目录中的文件变更

因为编译出来的exe被删除(猜测被删除)了,所以就想验证下是不是,代码如下:

//参考:https://zhuanlan.zhihu.com/p/493850984//监控文件变化.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#include<Windows.h>#include<winbase.h>#include<fileapi.h>#include<iostream>#include<string>#include<ctime>#include<array>//宽字节字符串转多字节字符串voidW2C(wchar_t*pwszSrc,intiSrcLen,char*pszDest,intiDestLen){::RtlZeroMemory(pszDest,iDestLen);//宽字节字符串转多字节字符串::WideCharToMultiByte(CP_ACP,0,pwszSrc,(iSrcLen/2),pszDest,iDestLen,NULL,NULL);}intmain(){boolwatch_state{};HANDLEhDirectory{CreateFileA("D:\\C++\\OpenSSL_test2_3\\Debug\\",FILE_LIST_DIRECTORY,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,NULL,OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,NULL)};BYTE*pBuf=newBYTE[2048];if(NULL==pBuf){std::cout<<"内存申请失败!"<<std::endl;return2;}FILE_NOTIFY_INFORMATION*pFileNotifyInfo=(FILE_NOTIFY_INFORMATION*)pBuf;DWORDin_MemorySize{2048};LPDWORDin_out_BytesReturned{newDWORD{}};charszTemp[MAX_PATH]={0};while(watch_state=ReadDirectoryChangesW(hDirectory,pFileNotifyInfo,in_MemorySize,true,FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME|FILE_NOTIFY_CHANGE_LAST_WRITE,in_out_BytesReturned,nullptr,NULL)){W2C((wchar_t*)(&pFileNotifyInfo->FileName),pFileNotifyInfo->FileNameLength,szTemp,MAX_PATH);time_tnow=time(0);if(GetLastError()==ERROR_INVALID_FUNCTION){std::cout<<"系统不支持!"<<std::endl;}elseif(watch_state==0){std::cout<<"监控失败!"<<std::endl;}elseif(GetLastError()==ERROR_NOTIFY_ENUM_DIR){std::cout<<"内存溢出!"<<std::endl;}else{if(pFileNotifyInfo->Action==FILE_ACTION_ADDED){std::cout<<ctime(&now)<<"新增文件:"<<szTemp<<std::endl;}elseif(pFileNotifyInfo->Action==FILE_ACTION_REMOVED){std::cout<<ctime(&now)<<"删除文件:"<<szTemp<<std::endl;}elseif(pFileNotifyInfo->Action==FILE_ACTION_MODIFIED){std::cout<<ctime(&now)<<"修改文件:"<<szTemp<<std::endl;}else{std::cout<<ctime(&now)<<pFileNotifyInfo->Action<<":"<<szTemp<<std::endl;}}}//关闭句柄,释放内存::CloseHandle(hDirectory);}//运行程序:Ctrl+F5或调试>“开始执行(不调试)”菜单//调试程序:F5或调试>“开始调试”菜单//入门使用技巧://1.使用解决方案资源管理器窗口添加/管理文件//2.使用团队资源管理器窗口连接到源代码管理//3.使用输出窗口查看生成输出和其他消息//4.使用错误列表窗口查看错误//5.转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目//6.将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择.sln文件

visual studio 2022 编译出来的文件被删除

确定是被删除了,那么极有可能就是杀毒软件搞的鬼,然而因为特殊原因,我不能退出杀毒软件,所以对目录做了如下权限拒绝操作:

怎么使用visual studio2022监视目录中的文件变更

怎么使用visual studio2022监视目录中的文件变更

杀软一般都是以system用户组来运行的。这样就解决了,编译出来的文件也没用被删除掉。

以上就是关于“怎么使用visualstudio2022监视目录中的文件变更”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

本文:怎么使用visual studio2022监视目录中的文件变更的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Golang errgroup设计及实现原理是什么下一篇:

20 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18