如何使用c++启动Mozilla Firefox ?

How can I launch Mozilla Firefox using C++?

本文关键字:Firefox Mozilla 启动 何使用 c++      更新时间:2023-10-16

通过像Code::Blocks这样的编译器编译,我尝试了以下方法,但它不起作用:

    /*Running Firefox.exe*/
        #include <stdio.h>
    /*using c++*/
        #include <iostream>
        #include <stdlib.h>
        using namespace std;
        int main ()
        {
            int x;
            cout << "Checking if processor is available..." << endl;
/*System used here*/
            if (system(NULL)) puts ("Proceed");
            else exit (1);
            cout<< "Executing Firefox..." << endl;
    /*Having some error here saying not recognized as internal or external command*/
            x = system ("C:/Program Files (x86)/Mozilla Firefox/firefox.exe");
/*cout here*/
            cout <<"The value returned was:" << x << endl;

        return 0;
        }

是因为Firefox不被认为是windows系统吗?如果是这样,我如何从代码中运行Firefox,甚至Internet Explorer ?

运行cmd.exe (Windows命令shell)并在命令行输入字符串C:/Program Files (x86)/Mozilla Firefox/firefox.exe,您将看到同样的问题-即问题出在命令字符串而不是c++代码上。

路径中的空格要求命令字符串加引号:

system (""C:\Program Files (x86)\Mozilla Firefox\firefox.exe"") ;

system (""C:/Program Files (x86)/Mozilla Firefox/firefox.exe"") ;

我相信你需要将path转换为DOS格式

将命令提示符cd启动到Mozilla Firefox文件夹

输入 for %I in (.) do echo %~sI

将输出复制到system命令中,其中替换为\,并在末尾添加firefox.exe

是因为Firefox不被认为是windows系统吗?

如果你打开cmd.exe并输入C:/Program Files...,它将不起作用,因为空格用作分隔符。引用你的路径:

system(""C:/Program Files (x86)/Mozilla Firefox/firefox.exe"");

如果你的目标是Windows,你应该考虑使用CreateProcess,这可以省去你的麻烦。

如果是这样,我如何从代码中运行Firefox,甚至Internet Explorer ?

如果你想显示一个网页,使用ShellExecute *,让shell来完成这个工作。它将负责启动Firefox, Internet Explorer, Chrome或用户配置的任何浏览器来查看网页。

*先阅读备注关于初始化COM的部分。

尝试使用windows API CreateProcess API