调试:GetOpenFileName()在装有Adobe Acrobat 7.0的SP2以上XP系统上调用时的崩溃问题
来源:互联网 发布:淘宝客数据采集器 编辑:程序博客网 时间:2024/06/06 20:28
这几天写程序发现调用GetOpenFileName()这个API时,程序老是莫名其妙的崩溃,看调用堆栈,就一句:
shell32.dll!....
郁闷了!
问题出现环境: SP2以上XP系统,装有Adobe Acrobat 7.0,桌面上放有PDF文件
问题重现方法:运行程序,使用打开文件对话框(调用了GetOpenFileName()这个API),点击左栏的桌面,然后将鼠标放到某一文件上直到提示tip出现,点击取消关闭打开文件对话框,之后,再重复打开对话框,重复以上过程。当重复2次以上后,在某一次程序总会莫名退出。
问题解决方法:在程序开始加CoInitialize(NULL),当然结尾也要加CoUninitialize()。
另外,该问题的重现直接用windows下自带的记事本就可以。
具体参考:
1、http://blog.csdn.net/dyw/archive/2007/09/02/1768857.aspx
2、http://www.ureader.com/message/821299.aspx
- 调试:GetOpenFileName()在装有Adobe Acrobat 7.0的SP2以上XP系统上调用时的崩溃问题
- 微软必应词典在Adobe Acrobat Pro DC下取词崩溃问题的解决方法
- “Adobe Acrobat 7.0”安装的问题
- ds3.1 在 xp sp2 的问题
- Adobe Acrobat 关于双击扩展的问题
- ArcGIS 9.0 在Windows XP SP2 上安装的问题
- 在xp sp2上部署asp.net3.5的问题
- Adobe Acrobat DC的破解
- 关于adobe acrobat professional 8.12注册的问题
- Adobe Acrobat 9 Pro无法打印的问题
- 解决Jsonkit在Xcode7以上崩溃的问题
- 挽救崩溃的XP系统
- xp sp2上rose2003的安装问题
- XP SP2与 SP3引起的问题
- 金山词霸2007在adobe acrobat reader 中无法取词,居然是和公司的安装文档系统有冲突。
- Linux系统装有多个PHP的版本切换问题
- VS2010最大的硬伤,编译出来的程序不能在XP SP2以下的系统运行
- Adobe Acrobat集成更新补丁的方法
- JavaScript的一些实用技巧-1
- [转载]逆向工程不是炫耀者用来装B的工具
- net-snmp软件包搭建SNMP环境
- 在字符串比较中使用通配符
- JavaScript的一些实用技巧-2
- 调试:GetOpenFileName()在装有Adobe Acrobat 7.0的SP2以上XP系统上调用时的崩溃问题
- 理解ASP.NET 2.0中的单点登录 (转)
- JavaScript的一些实用技巧-3
- 超强的指针 *一辈子都找不到的牛B贴
- 在服务器端运行JavaScript文件(二)
- 获取ACCESS表结构
- JavaScript的一些实用技巧-4
- JavaScript的一些实用技巧-5
- 性能测试