如何制作一个打开另一个程序的C ++程序?

时间:2015-09-27 11:04:27

标签: c++

所以我知道如何制作它,我只是希望它在不指定路径的情况下打开文件。

例如:我有

C:\Users\\(me)\Desktop\Projects\BCs\BSCV2\bin\Debug\BSC.exe

但是如果我把它交给朋友,他有一个不同的用户名,例如(him),所以即使他在桌面上有这个命令,命令也无法执行,因为路径不是& #39; t有效了。

这是代码的一部分:

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
    int a;
    cout << endl;
    cout << " This window is used for launching the programs." << endl;
    cout << " Type in the number of the program you want to use and press Enter." << endl;
    cout << endl;
    cout << " 1) BSCV2 << endl;
    cout << endl;
    cout << " "; cin >> a; cout << endl;
    cout << endl;

        if (a == 1){
            system ("start C:\\Users\\(me)\\Desktop\\Projects\\BCs\\BSCV2\\bin\\Debug\\BSCV2.exe");
            system ("pause");
        }

    return 0;
}

如何让它在任何人的电脑上运行,无论他们放在哪里? 另外,如果您可以重新编写我的代码作为示例,我会很感激。

1 个答案:

答案 0 :(得分:0)

你需要得到&#34; home&#34;当前用户登录的目录。参考这篇文章:How to get the current user's home directory in Windows或者这个帖子:How can I find the user's home dir in a cross platform manner, using C++?

但是,您是否完全确定运行应用程序的所有用户(在各自的计算机上)将具有您尝试呼叫的可执行文件的确切目录路径(\ Desktop \ Projects \ BBC \ BSCV2 \ bin \调试\ BSCV2.exe)?

您可能最好编写一个函数来搜索可执行文件,或者让用户指定它的位置。