• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > shell扩展com(IContextMenu的com)怎么调试?

shell扩展com(IContextMenu的com)怎么调试?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了icontextmenu,shell扩展未正确安装,shell扩展,www.shell.com,shell.com等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: shell扩展com(IContextMenu的com)怎么调试?
描述:

shell扩展com(IContextMenu的com)怎么调试?
我写好了一个shell扩展com(IContextMenu的com,debug版),并注册成功。
我在setting | debug | 可执行调试对话中输入explorer.exe(资源管理器),
然后在com源程序中设置断点,开始调试,出现错误:
explorer.exe(资源管理器)无调试信息。(explorer.exe肯定是release版的)
结果无法调试, 怎么办?


解决方案1:

看这篇文章。
写得比较详细。
要先把explorer做掉。
http://www.hrbust.edu.cn/xstd/students/cahust/ketang/zhuanye/zy3.htm

解决方案2:

Debugging with the Shell
--------------------------------------------------------------------------------
This overview explains how to debug Shell and namespace extension dynamic-link libraries (DLLs). 
Running the Shell Under a Debugger
Running and Testing Shell Extensions on Windows NT
Unloading the DLL
Running the Shell Under a Debugger
To debug your extension, you need to execute the Shell from the debugger. Follow these steps: 
Load the extension's project into the debugger, but do not run it. 
From the Start menu on the Microsoft® Windows® taskbar, choose Shut Down. 
Press CTRL+ALT+SHIFT, and click No in the Shut Down Windows dialog box. On Windows 2000, click Cancel instead of No. The Shell is now shut down, but all other applications are still running, including the debugger. 
Set the debugger to run the extension DLL with Explorer.exe from the Windows directory. 
Run the project from the debugger. The Shell will start up as usual, but the debugger will be attached to the Shell's process. 
Running and Testing Shell Extensions on Windows NT
You can run and test your Microsoft Windows NT® extensions in a separate Windows Explorer process to avoid stopping and restarting the desktop and taskbar. Your desktop and taskbar can still be used while you run and test the extensions. 
To enable this feature, add the following value to the registry. 
HKEY_CURRENT_USER
Software
Microsoft
Windows
CurrentVersion
Explorer
DesktopProcess (REG_DWORD)= 1
For this value to take effect, you must log off and log on again. This setting causes the desktop and taskbar windows to be created in one Explorer.exe process, and all other Explorer and folder windows to be opened in a different Explorer.exe process. 
In addition to making running and testing your extensions more convenient, this setting also makes the desktop more robust as it relates to Shell extensions. Many such extensions (shortcut menu extensions, for example) will be loaded into the nondesktop Explorer.exe process. If this process terminates, the desktop and taskbar will be unaffected, and the next Explorer or folder window will recreate the terminated process. 
Unloading the DLL
The Shell automatically unloads a DLL when its usage count is zero, but only after the DLL has not been used for a period of time. This inactive period might be unacceptably long at times, especially when a Shell extension DLL is being debugged. For operating systems prior to Windows 2000, you can shorten the inactive period by adding the following information to the registry. 
HKEY_LOCAL_MACHINE
Software
Microsoft
Windows
CurrentVersion
Explorer
AlwaysUnloadDll


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在IContextMenu中使用SHFileOperation复制文件
  • 散分。。使用IContextMenu接口添加菜单项,跟其他自定义菜单项冲突
  • 谁写过ShellExtension啊?我的IExtractIcon和IContextMenu怎么不工作啊?
  • 怎样设置注册表才能使实现IContextMenu的com对所有文件都有效?,急!
  • 实现IcontextMenu的comshell扩展怎么替换弹出菜单?
  • shell扩展com(IContextMenu的com)怎么调试?

相关文章

  • 2017-06-05 关于WaitForSingleObject的一个问题,请教一下大家。
  • 2017-06-04 ocx控件的两个小问题
  • 2017-06-04 怎么把一个支持VBA编程调用的系统集成到一个用VC编写的系统中去
  • 2017-06-05 如何使开启的进程在最上端显示
  • 2017-06-05 ATL工程如何得到工具箱中控件的指针
  • 2017-06-04 oracl连接服务器的问题
  • 2017-06-04 关于_ConnectionPtr作为参数传递
  • 2017-06-04 线程中创建COM对象失败?
  • 2017-06-05 如何关闭Event?
  • 2017-06-04 各位高手请指点一下,控件事件传出图片的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 简单问题,如何在vc里面生成可以导出类的dll?如何调用?
    • OLEServer如何与Container交互?(在线等侍)
    • 急DllMain问题
    • IE编程相关,进者有分!
    • 我用ATL向导,只有一个框架程序,我没写代码,为什么编译到Performingregistration就死机了?是不是和操作系统有关?
    • IE插件是不是要用到ActiveX技术?
    • 如何在一个线程中再产生一个线程呀?一般有什么东西需要注意的那?
    • 求教怎样在获得一个Windows下进程的状态信息?
    • 想问大家,QQ是怎么做出来的?
    • 请教:ADO异常处理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有