永发信息网

【原创】如何获取系统目录和文件信息

答案:2  悬赏:0  手机版
解决时间 2021-03-23 06:07
【原创】如何获取系统目录和文件信息
最佳答案
新建一个单文档程序GetExtractIcon修改CGetExtractIconView类的OnDraw函数如下void CGetExtractIconView::OnDraw(CDC* pDC){ CGetExtractIconDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);// TODO: add draw code for native data herechar szSysDir[MAX_PATH+1];char szWinDir[MAX_PATH+1];char szcurDir[MAX_PATH+1];char szTmpPath[MAX_PATH+1];char szPathName[MAX_PATH+1];//System目录 GetSystemDirectory(szSysDir,MAX_PATH);//Windows目录 GetWindowsDirectory(szWinDir,MAX_PATH);//当前目录 GetCurrentDirectory(MAX_PATH,szcurDir);//临时目录 GetTempPath(MAX_PATH,szTmpPath);//程序完整路径 GetModuleFileName(NULL,szPathName,MAX_PATH);?? pDC->TextOut(10,100,CString("SystemDirectory - ") + CString(szSysDir)); pDC->TextOut(10,120,CString("WindowsDirectory - ") + CString(szWinDir)); pDC->TextOut(10,140,CString("CurrentDirectory - ") + CString(szcurDir)); pDC->TextOut(10,160,CString("TempPath - ") + CString(szTmpPath)); pDC->TextOut(10,180,CString("PathName - ") + CString(szPathName));??//记事本的路径 CString strFileName=szSysDir + CString("\\notepad.exe"); SHFILEINFO stFileInfo;//得到文件信息if(::SHGetFileInfo(strFileName,0,&stFileInfo,sizeof(stFileInfo), SHGFI_ICON | SHGFI_DISPLAYNAME | SHGFI_TYPENAME)) { pDC->DrawIcon(10,10,stFileInfo.hIcon); pDC->TextOut(50,10,CString(stFileInfo.szDisplayName)); pDC->TextOut(50,30,CString(stFileInfo.szTypeName)); }//使用ExtractIcon得到explorer的图标 HICON hIcon=::ExtractIcon(AfxGetInstanceHandle(),"explorer.exe",0);if(hIcon && hIcon!=(HICON)-1) pDC->DrawIcon(10,50,hIcon);}SHFILEINFO结构体的原型:typedef struct _SHFILEINFO{ HICON hIcon; //图标的句柄int iIcon; //图标的索引 DWORD dwAttributes; //文件的属性 TCHAR szDisplayName[MAX_PATH]; //包含文件的名称 TCHAR szTypeName[80]; //文件类型} SHFILEINFO; SHGetFileInfo函数原型:DWORD_PTR SHGetFileInfo( LPCTSTR pszPath, //包含路径和文件名 DWORD dwFileAttributes, //文件的属性,如果uflags不包括//SHGFI_USEFILEATTRIBUTES标志, 这个参数将被忽略 SHFILEINFO *psfi, //SHFILEINFO类型的指针,用来接收文件信息 UINT cbFileInfo, //SHFILEINFO类型的大小 UINT uFlags //这个标准指定文件信息检索);uFlags标志可以是以下值的组合:SHGFI_ATTR_SPECIFIEDSHGFI_ATTRIBUTESSHGFI_DISPLAYNAMESHGFI_EXETYPE SHGFI_ICON SHGFI_ICONLOCATION SHGFI_LARGEICON SHGFI_LINKOVERLAY SHGFI_OPENICON SHGFI_PIDL SHGFI_SELECTED SHGFI_SHELLICONSIZE SHGFI_SMALLICON SHGFI_SYSICONINDEX SHGFI_TYPENAME SHGFI_USEFILEATTRIBUTES
全部回答
不明白啊 = =!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么别人女友换了一个又一个,而我是追女孩
“游戏人生”“今朝有酒今朝醉”是落后文化还
在药店里买脱毛膏大约多少钱
我做过胃镜检查结果是胆汁反流性胃炎,十
房子怎样顺利分配给想给的子女
大话2雕刻第三个隐藏任务怎么过
什么人不能吃新鲜乌梅
食全食美,花好月圆,吉祥如意,功成名就,福
从石家庄到朝鲜旅游要多少钱?
怎么给联想一体机换显卡
陈创藩诊所在什么地方啊,我要过去处理事情
关于物态变化,下列说法正确的是A.雪的形成,
《银行招聘特长怎么写》
充电宝开关坏了怎么办,墙壁开关按键坏了怎么
敢问目前CPU里面赛扬是不是最差的了
推荐资讯
鸿冠电动车分期在什么地方啊,我要过去处理事
假发用六角网是什么网料
单选题水分蒸腾主要是通过植物体的哪部分进行
列国美姬文姜传txt全集下载
关于。。互联网新闻信息服务许可证
仙剑奇侠传三电视剧的配音演员有谁?
感冒对身体有什么好处,风寒感冒都有哪些症状
RSI指标和KDJ指标用法上有什么不同?
刚买了一只比熊幼犬,但是朋友说长的不太像比
我们云计算班级想要一个班级口号,希望大家帮
最近很压郁,想去爬山啊,哪位杭州达人知道,
鬼子强行征调民工,用什么词形容
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?