- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何调试Windows外壳扩展程序(Shell Extension)(hangwire发表于2002-8-11 19:33:08)
????要想用Visual C++调试Windows外壳扩展程序,你必须在工程中指定Windows外壳作为调试环境,即“Executable For Debug Session”,然后用VC++ 6.0中的调试器重新启动调试过程。具体步骤如下:????1、在Visual C++开发环境中启动外壳扩展,进入工程的“Project|Settings”菜单,然后选择“Debug”标签,在“Executable For Debug Session”编辑框中输入外壳执行程序,也就是资源管理器路径,资源管理器程序路径\ Explorer.exe.????2、进入任务栏的“开始”菜单,单击“关机”。此时弹出关机对话框,然后按下CTRL+ALT+SHIFT组合键的同时按下关机对话框的“取消”按钮,此时外壳程序被终止。也就是说你的桌面上和任务栏中的所有图标全部消失。????不要怕啦,这只是关掉了Windows的外壳,其它的一切依然故我,地球该怎么转还在怎么转。已经启动的程序仍然在运行…….????3、启动Visual C++的调试器便可以调试外壳扩展了。????在调试器下运行资源管理器与正常情况下运行的资源管理器是不一样的,很容器引起混乱,这是因为“任务栏”和“开始”菜单按钮是资源管理器的一部分。要想调试某个文件的上下文菜单,当资源管理器在调试器下运行时,它仍然需要从“开始”菜单启动一个资源管理器实例。????在Windows 9x系统里调试的注意事项:结束调试后,在桌面的任何地方双击鼠标便重启外壳。此时弹出任务管理对话框,在“文件”菜单上单击“运行”,然后输入资源管理器程序(Explorer.exe)的路径,按“确定”按钮后一切恢复正常。????在Windows NT系统里调试的注意事项:结束调试后,按下CTRL+ALT+DEL组合键,选择“任务管理器”按钮,弹出任务管理器对话框,在“文件”菜单选中“新任务/运行…..”菜单项,然后输入资源管理器程序(Explorer.exe)的路径即可恢复。用WinExec函数可打开外部程序,以打开记事本为例:?WinExec(_T(c:\\windows\\notepad.exe),SW_SHOWMAXIMIZED); //注意,路径中反斜杠用法。
MFC将任意文件放入资源中调用
将一个版本的程序包含到另一个版本(母体)里面,母体在运行的时候,判断是不是自己需要的版本,如果是,那么就运行,如果不是,那么释放出包含的那个版本的程序,然后运行释放出来的程序。 这样就没有必要将两个程序捆绑到一起,只是把一个程序当作那个母体程序的资源包含到母体程序里面
新建了一个mfc工程,然后在查看资源的地方,选择添加资源,会出现一个对话框,一 个打开文件对话框,这里选择打开一个exe文件,然后又会出现一个对话框,让输入资源的 类型,这里输入exe,因为添加的文件是exe文件,当然添加的是什么文件就要输入相应的类 型(扩展名),然后资源就会被添加进去,并且vc会自动在左边打开(二进制的),左边的资源默认为IDR_EXE1,然后编写代码
HRSRC hrFile = FindResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_EXE1), EXE ); //后面这连个参数很重要
if(hrFile==NULL)
{
AfxMessageBox( 没有找到资源 );
}
HGLOBAL hgFile = LoadResource(AfxGetInstanceHandle(),hrFile);
if(hgFile==NULL)
{
AfxMessageBox( 加载资源失败 );
}
LPVOID pvFile = LockResource(hgFile);
if(pvFile==NULL)
{
AfxMessageox( 不能加载内存 );
}
HANDLE hfFile = CreateFile( C:\\amn.exe ,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
DWORD nFileLength = SizeofResource(AfxGetInst
您可能关注的文档
- 操作系统 死锁 CCH08.ppt
- 模式识别编程习题.ppt
- 操作系统第01章.ppt
- 模式识别导论3.ppt
- 操作系统发展历程.ppt
- 模式识别导论(八).ppt
- 操作系统课程课件5.ppt
- 模式识别导论(六).ppt
- 操作系统课程课件6.ppt
- 模式识别导论(三).ppt
- 初中生亲子阅读与阅读策略训练研究论文.docx
- 高中数学课堂如何提升学生空间想象力的教学策略研究论文.docx
- 初中英语课堂互动模式下的教学策略与教学评价改革与实践研究论文.docx
- 小学美术教育中创新思维培养路径研究论文.docx
- 绿色化学实验在初中化学教学中的应用与优化策略论文.docx
- 小学生早餐饮食习惯对视力保护作用的研究与饮食习惯教育论文.docx
- 初中生艺术社团活动对学生社会责任感培养的实证研究论文.docx
- 小学数学课堂学生数学学习心理辅导策略创新研究论文.docx
- 劳动教育在学生劳动教育理论研究中的地位论文.docx
- 小学英语单元整体教学目标与多元智能理论的结合实践论文.docx
文档评论(0)