MFC中要在全盘中搜索文件和我指定的文件名相同的文件,并且我要得到搜索到得文件的路径,应该怎么做 ,别

MFC中要在全盘中搜索文件和我指定的文件名相同的文件,并且我要得到搜索到得文件的路径,应该怎么做 ,别,第1张

你可以认为分区只能从"A"到"Z",

用::GetLogicalDrives得到可用盘符,

再用::GetDriveType区分哪些是硬盘,

CFileFind::IsDirectory用来判断谁是目录,

然后你从根目录开始迭代搜索。。。

关于1:U盘对病毒的传播要借助autoruninf文件的帮助,病毒首先把自身复制到u盘,然后创建一个autoruninf,在你双击u盘时,会根据autoruninf中的设置去运行u盘中的病毒,我们只要可以阻止autoruninf文件的创建,那么U盘上就算有病毒也只能躺着睡大觉了,大家可能也想到这个,但是不管给autoruninf设置了什么属性,病毒都会更改它,我提到的方法就是,在根目录下,删除autoruninf文件,然后,根目下建立一个文件夹,名字就叫autoruninf,这样一来,因为在同一目录下,同名的文件和文件夹不能共存的原理,病毒就无能为力,创建不了autoruninf文件了,以后会不会出新病毒,自动去删文件夹,然后再建立文件就不知道了,但至少现阶段,这种方法是非常有效的。

应对策略

1、在插入U盘时按住键盘 shift 键直到系统提示“设备可以使用”,然后打开U盘时不要双击打开,也不要用右键菜单的打开选项打开,而要使用资源管理器(打开我的电脑,按下上面的“文件夹”按钮,或者开始-所有程序-附件-windows资源管理器)将其打开,或者使用快捷键winkey+E打开资源管理器后,一定通过左侧栏的树形目录打开可移动设备!(要养成这样的良好习惯)

2、如果盘内有来路不明的文件,尤其是文件名比较诱惑人的文件,必须多加小心;需要特别提示的是,不要看到图标是文件夹就理所当然是文件夹,不要看到图标是记事本就理所当然是记事本,伪装图标是病毒惯用伎俩。

3、要有显示文件扩展名的习惯 。方法:打开“我的电脑”,工具--文件夹选项--查看,去掉“隐藏已知文件类型的扩展名”的勾,建议选择显示扩展名同时选上“显示隐藏文件”,去掉“不显示系统文件”的勾,这样可以对病毒看得更清楚。有图标的诱人的病毒文件基本都是可执行文件,显示文件扩展名之后,通过文件名后的"exe"即可判断出一个文件可执行文件,从而不会把伪装的病毒可执行文件误认为是正常文件或文件夹。

4、最后不管你用什么办法,或者用什么软件,插入U盘然后用这个方法检验你有没有中Autoruninf型病毒的风险。

关于2:这个基本没什么问题,打开ie时杀毒软件会占用大量内存,如果你的系统cpu和内存不是特别强大的话就会卡。杀毒软件一般都会占用大量内存。卡巴斯基最为突出。

关于3:agentsvrexe是一个ActiveX插件,用于多媒体程序。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。

eouwizexe :Intel无线网络相关程序。

RSTrayexe是瑞星卡卡上网安全助手60的实时监控程序。

dot1xcfgexe :Intel8021x无线网络适配器设置程序。

zcfgsvcexe是Intel零配置MFC程序,与网络相关设备安装。

iFrmewrkexe是Intel无线网卡相关软件。

RavTasKexe(瑞星任务计划程序)

taskmgrexe用于Windows任务管理器。

syntpenhexe是笔记本电脑触摸板相关程序。

wcourierexe 这是一个华硕的无线网络的相关程序

hcontrolexe是华硕键盘相关配置程序。

rasexe 瑞星卡卡安全助手程序。

rfwmainexe 瑞星防火墙主程序

daemonexe是一个后台程序,用于打开例如iso之类的镜像文件,做成虚拟光驱文件。

atkosdexe是华硕笔记本电脑驱动程序的文件。

ctfmonexe是Microsoft Office产品套装的一部分。它可以选择用户文字输入程序,和微软Office XP语言条。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。

knownsvrexe是瑞星卡卡上网安全助手60的相关进程,每次启动卡卡时即出现。

notepadexe是Windows自带的记事本程序svchostexe是一个属于微软Windows *** 作系统的系统程

algexe是微软Windows *** 作系统自带的程序。它用于处理微软Windows网络连接共享和网络连接防火墙。

wdfmgrexe是微软microsoftwindowsmedi

void CXXXDlg::SearchFiles(CString strMusicFolder)

{

    CFileFind ff;

    

    strMusicFolder += _T("\\");

    

    strMusicFolder += _T("");

    BOOL res = ffFindFile(strMusicFolder);

    while (res)

    {

        res = ffFindNextFile();

        if (!ffIsDirectory() && !ffIsDots())

        {

            afxMessageBox(ffGetFilePath());

        }

    }

    ffClose();

}

咕~~(╯﹏╰)b 本来exe和dll 放一个文件夹多方便,你非放到另一个文件夹下找事。

可以在源码中,新建文件夹把dll放进去,源码调用的时候写dll相对路径,然后release生exe后,把包含dll的此文件夹 和exe放到一个文件夹下。

如果想exe和dll的文件夹不在一个目录 我就不知道了,exe和dll是一个程序你干嘛让他们分离。

CFileDialog::GetFolderPath ,这个是顺着CFileDialog思路的。

GetCurrentDirectory,可以获取当前的路径。如果你打开txt用的只是文件名称,没有路径的话,那使用的路径就是GetCurrentDirectory获取的路径。

不太明白你的意思,你是想说这个项目的比如“标签下的右键菜单”代码的具体位置吗?

我先按照我认为的这个思路解答吧:

用vs打开后,以vs2005为例:

1、在菜单“视图(V)”下点击“资源视图”项,就会看到一个窗口,这个窗口就是当前项目的资源树

2、你那个有好多sln的话,找到菜单所在项目的根目录,点开后就会看到许多小的文件夹,一般好的工程应该是分类好的,你在menu文件夹下就应该能找到你需要的菜单了

3、右键某一个你要看代码的菜单项,点击属性,可以看到当前菜单项的ID,然后搜索这个ID,就应该能找到类似:ON_COMMAND(ID_111_DDDD,

&CAboutDlg::On111Dddd)的代码,这里ID_111_DDDD为这个菜单项的ID,后面那个On111Dddd就是响应的消息函数,找到这个函数,里面就是详细代码了。

那就安装个delphi,然后找些相关开发工具的资料,这种界面转向代码的过程应该是很简单的

你好 亲

修改后的应该是这样的

dlgFilem_ofnFlags |= OFN_ALLOWMULTISELECT | OFN_ENABLESIZING | OFN_HIDEREADONLY;

dlgFilem_ofnlpstrFilter = _T("Bin Files(bin)\0bin\0All Files()\0\0\0");

const int nMaxFiles = 1000;

const int nMaxPathBuffer = (nMaxFiles (MAX_PATH + 1)) + 1;

LPSTR pc = (LPSTR)malloc(nMaxPathBuffer sizeof(WCHAR));

if( pc )

{

dlgFileGetOFN()lpstrFile = pc;

dlgFileGetOFN()lpstrFile[0] = NULL;

dlgFilem_ofnnMaxFile = nMaxPathBuffer;

if (dlgFileDoModal() != IDOK)

{

return;

}

UpdateData(TRUE);

POSITION pos = dlgFileGetStartPosition();//获取第一个文件位置

UpdateData(FALSE);

while (pos)

{

m_FilePathName[i] = dlgFileGetNextPathName(pos);

if(i == 0)

{

m_TreeMuti1DeleteAllItems();

/TiXmlDocument doc1 = new TiXmlDocument("D:\\sumAbin");/

TiXmlDocument doc1 = new TiXmlDocument(m_FilePathName[0]);

/CString str;strFormat(_T("%s"),m_FilePathName[0]);AfxMessageBox(str);/

if (!doc1->LoadFile())

{

/CString str;strFormat(_T("%s"),m_FilePathName[0]);AfxMessageBox(str);/

return;

}

TiXmlElement root1=doc1->RootElement();

TiXmlElement pNode1=root1;

CrcXmlMuti1(pNode1,TVI_ROOT);

TCHAR szPath[MAX_PATH];

DWORD nSize = MAX_PATH;

HANDLE hProc = GetCurrentProcess(); // 这里是举例,如果用指定进行,直接用下面函数

if (QueryFullProcessImageName(hProc, 0, szPath, &nSize))

{

_tprintf(szPath);

}

以上就是关于MFC中要在全盘中搜索文件和我指定的文件名相同的文件,并且我要得到搜索到得文件的路径,应该怎么做 ,别全部的内容,包括:MFC中要在全盘中搜索文件和我指定的文件名相同的文件,并且我要得到搜索到得文件的路径,应该怎么做 ,别、MFC 中 关于获取U盘信息的方法,详情见描述。、mfc怎样获取一个文件夹下所有的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9676990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存