我试图从脚本运行windows帮助文件编译器(hhc.exe
),但它显示了非常意外的行为。在
当我把它从命令行.exe使用hhc pathtohelpproject.hpp
,帮助文件按预期编译。但是,使用相同的工作目录从python调用完全相同的命令会导致程序返回0而没有输出。在
但更奇怪的是:我创建了一个批处理文件runhhc.bat
:
hhc "pathtohelpproject.hpp"
我通过调用call runhhc.bat
、start runhhc.bat
和runhhc.bat
从python脚本中运行。在
所有这些都导致了同样的行为。但是,使用start runhhc.bat
时,hhc返回后cmd实例仍处于打开状态,因此我再次尝试手动输入命令,但没有成功。但是当我在一个新的、手动打开的命令中输入命令时,它也没有起作用!事实上,它只在我关闭脚本打开的命令后才开始工作。在
这种奇怪的行为有什么解释呢?如何从脚本运行编译器呢?在
完全取决于hhc.exe,没别的了。诀窍是在%ERRORLEVEL%运行后查看它。尽管成功,它仍返回“1”。这可以在自定义命令中使用,以警告用户它是假的,如果hhc.exe跑步和其他东西是隔离的。 HHC.exe正在使用HHA.dll. 关于HHA.dll信息尚未发布。微软将保密协议(NDA)下的HHA接口信息授予批准的帮助ISV
要绕过这个问题并继续,您需要在批处理文件中添加
^{pr2}$if not %errorlevel% 1 exit /B 1
。在以及调用此批处理的python脚本:
您可能有兴趣从python脚本调用CHM:
相关问题 更多 >
编程相关推荐