800-1000分求VC++高手用MFC编写一个成功

求用VC++6.0的MFC对话框编写一个小程序,效果,像桌面图标管理一样,在软件里导入桌面上的图标,软后在软件上点击该图标会打开相应的程序!!... 求用VC++6.0的MFC对话框编写一个小程序,效果,像桌面图标管理一样,在软件里导入桌面上的图标,软后在软件上点击该图标会打开相应的程序!! 展开
 我来答
星神止坏7597
2014-07-16 · 超过55用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:96.5万
展开全部
等几个小时,还有怎么只有100分。我不是说分少,只是奇怪,分明说800-1000分。。。。。。。。。。。。 看来我是完成不了回答了。给你两个函数ShellExecute和SHGetFileInfo 函数定义:ShellExecute(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); 第一个参数hwnd是父窗口的句柄,可以为NULL,第二个参数lpOperation表示行为,第三个参数lpFile是程序的路径名,第四个参数lpParameters是给所打开程序的参数,可以为NULL,第五个参数lpDirectory可以为NULL,第六个参数nShowCmd跟ShowWindow函数的第二个参数一样,作用也一样,如果打开的程序有窗口的话,这个参数就指明了窗口如何显示. 例如打开一个记事本: ShellExecute(NULL,"open","NOTEPAD.EXE",NULL,NULL,SW_SHOWNORMAL); 而且这个函数还可以指定程序打开一个属于程序本身类型的文件,假如e盘有一个a.txt文件;我调用函数运行记事本程序并打开这个文本文件. ShellExecute(NULL,"open","NOTEPAD.EXE","e:\\a.txt",NULL,SW_SHOWNORMAL); 这里由于记事本程序属于系统本身自带的程序,所以没有绝对路径. 这个函数还可以打开一个网站: ShellExecute(NULL,"open"," http://www.baidu.com ",NULL,NULL,SW_SHOWNORMAL); ShellExecute(NULL,"open","C:",NULL,NULL,SW_SHOWNORMAL); 还可以根据文件后缀名选择相应的程序打开一个文件: ShellExecute(NULL,"open","e:\\a.bmp",NULL,NULL,SW_SHOWNORMAL); 类似的函数还有WinExec,只有两个参数,它的最后一个参数跟ShellExecute函数的最后一个参数一样. 而第一个参数则是程序路径名.举个例子:WinExec("NOTEPAD.EXE",SW_SHOWNORMAL); 这个函数也可以给程序传递一个文件名供要运行的程序打开,那要如何加进去呢,这里又没有第三个参数, 方法把路径名加在NOTPEPAD.EXE的后面,要以空格来分开如: WinExec("NOTEPAD.EXE e:\\a.txt",SW_SHOWNORMAL); 函数定义: DWORD SHGetFileInfo(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA FAR *psfi, UINT cbFileInfo, UINT uFlags); pszPath是文件的路径,dwFileAttributes一般取0,如果想要获取文件夹信息的话,则取值为FILE_ATTRIBUTE_DIRECTORY,psfi是一个SHFILEINFO结构的指针,该结构存储文件信息,定义如下: typedef struct _SHFILEINFOA { HICON hIcon; // 文件关联图标句柄 int iIcon; // 系统图标列表索引 DWORD dwAttributes; // 文件的属性 CHAR szDisplayName[MAX_PATH]; // 文件的路径名 CHAR szTypeName[80]; // 文件的类型名,如是bmp文件,还是执行文件exe,或者其它 } SHFILEINFO; 第四个参数cbFileInfo指明SHFILEINFO结构的大小,填sizoef(SHFILEINFO); 最后一个参数uFlags指定获取文件的什么信息,可选取值如下:(对应着SHFILEINFO里的成员) SHGFI_ICON; //获得图标 SHGFI_DISPLAYNAME; //获得显示名 SHGFI_TYPENAME; //获得类型名 SHGFI_USEFILEATTRIBUTES; //获得属性 SHGFI_LARGEICON; //获得大图标 SHGFI_SMALLICON; //获得小图标 SHGFI_PIDL; // pszPath是一个标识符 比如,我只要获取文件图标,那么参数填SHGFI_LARGEICON就行了。如果又想获取文件关联的图标,又想获取文件类型名,那么就是 SHGFI_LARGEICON|SHGFI_TYPENAME; 函数例子: SHFILEINFO sfi; SHGetFileInfo("e:\\aa.bmp",0,&sfi,sizeof(sfi), SHGFI_ICON|SHGFI_LARGEICON|SHGFI_USEFILEATTRIBUTES|SHGFI_TYPENAME); 接着可以用DrawIcon函数画出文件关联图标:该函数定义:BOOL DrawIcon(HDC hDC,int X,int Y, HICON hlcon ); 复制来源: http://hi.baidu.com/3582077/home
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式