关于调用::HtmlHelpA()的奇怪问题~~~~~~~~~~~~

时间:2021-12-14 00:28:23
调用代码为:
::HtmlHelpA(NULL,(LPCSTR)strPath,HH_DISPLAY_TOPIC,NULL);
正常使用下没有任何问题

问题如下:
准备两个CHM文件供程序调用,重命名这两个文件,使文件名中包含空格符号。
首先调用::HtmlHelpA 打开其中一个(正常打开),不要关闭这个CHM文件(关闭后再打开不会出问题),再调用::HtmlHelpA 来打开另外一个CHM文件,这时CPU全被软件占用,一段时间后系统提示内存不足,软件被强制关闭。

郁闷呐,请高手指点。。。

6 个解决方案

#1


比较奇怪,你的系统打足补丁了吗?包括VS的.并且试试不加空格符号看看.

#2


系统补丁打足这个难说,但是在部门里面所有机器上都会出问题
不加空格是没问题的,并且只要不同时打开两个CHM也不会有问题,  只有在同时打开两个文件名带空格的CHM时才会有问题。 
现在软件已经拿出去给别人用了,改文件名影响会比较大。。。。

等高手解答
郁闷中。。。。。

#3


照你说的现象应该是在你打开另一个chm文件时,软件申请内存,占用cpu

你查一下是不是再打开第二个文件时,有申请内存的地方

#4


我的程序中没有申请内存的地方
只执行::HtmlHelpA(NULL,(LPCSTR)strPath,HH_DISPLAY_TOPIC,NULL);这一句代码,只是传入的文件名不同而已。

并且打开第一个文件和第二个文件响应的是同一个消息,执行同一段代码。

#5


自己顶一下。。。。。

#6


再顶一下!!!···!!

#1


比较奇怪,你的系统打足补丁了吗?包括VS的.并且试试不加空格符号看看.

#2


系统补丁打足这个难说,但是在部门里面所有机器上都会出问题
不加空格是没问题的,并且只要不同时打开两个CHM也不会有问题,  只有在同时打开两个文件名带空格的CHM时才会有问题。 
现在软件已经拿出去给别人用了,改文件名影响会比较大。。。。

等高手解答
郁闷中。。。。。

#3


照你说的现象应该是在你打开另一个chm文件时,软件申请内存,占用cpu

你查一下是不是再打开第二个文件时,有申请内存的地方

#4


我的程序中没有申请内存的地方
只执行::HtmlHelpA(NULL,(LPCSTR)strPath,HH_DISPLAY_TOPIC,NULL);这一句代码,只是传入的文件名不同而已。

并且打开第一个文件和第二个文件响应的是同一个消息,执行同一段代码。

#5


自己顶一下。。。。。

#6


再顶一下!!!···!!