我编写了一个代码,当我选择特定选项时,我想打开一个HTM文件...
为了达到这个目的,我创建了一个批处理文件并使用system()打开它,如代码所示。 这是我的代码:
代码:
#include <iostream.h>
#include <stdlib.h>
#include <dos.h>
#include <process.h>
void main()
{
cout<<"Hello World";
delay(3000);
system("a.bat");
delay(1000);
}
a.bat代码:
start iexplore.exe c:\Turbo\TC\BIN\Hello.htm
当我在命令行中使用此行时,它会执行,但是当我想使用c ++代码执行它时,我得到一个错误的文件名或命令错误......
请告诉我,如果我在这里某处出错......或者我能做些什么。
请帮助..
谢谢.. :))
答案 0 :(得分:2)
由于大多数代码无论如何都不是特别便携,所以正确的方法是使用ShellExecute
直接“执行”HTML文件。在我使用IE打开HTML文件的程序之前,我必须非常绝望。
ShellExecute
是特定于Windows的,但您的代码现在不是特别可移植的。我认为Unix(或类似)系统实际上不会停止你命名一个shell脚本whatever.bat
,但它确实不常见。你当然不应该期望iexplore.exe
在大多数情况下都可用(对于一般的可执行文件也没有'.exe'扩展名。)
ShellExecute(NULL, NULL, "c:\\Turbo\\TC\\BIN\\Hello.htm", NULL, NULL, SW_SHOWNORMAL);
答案 1 :(得分:1)
您可以使用CreateProcess()
API(http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425.aspx)