我正在开发一个或多或少围绕重命名文件的(C ++)程序。我想这样做,你可以选择一个文件,右键单击它并选择“打开方式”,然后选择我的应用程序。 我得到了上下文菜单部分,我只是不知道如何做C ++部分。
换句话说,如何创建一个可以与文件一起打开的程序(在C ++中)(通过上下文菜单或直接打开它)并处理这个文件?
实施例: 在我的Windows中,我将“.roberto”扩展名与“ C:\ Program Files \ MyProgram \ MyProgram.exe ”相关联。因此,如果我打开“.roberto”文件,会弹出一个命令提示符,只显示所选文件的名称。
我希望这很清楚,我不知道如何解释这一点。我也在搜索这个问题时遇到了一些麻烦,所以请原谅我,如果以前曾经问过这个问题。 感谢。
答案 0 :(得分:1)
在基于 MFC 的应用程序中的 Windows 平台上,这是由应用程序类的InitInstance()
方法中的框架自动完成的:
EnableShellOpen();
RegisterShellFileTypes(TRUE);
重要提示:通常,此功能取决于框架,并且特定于操作系统。
答案 1 :(得分:0)
我明白了!
使用给予main的参数是线索。如果直接打开,以下程序打印一行,该行是程序本身的路径,如果使用“打开方式...”选项打开,它还会显示所选文件。
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << "Argument count: " << argc << endl << endl;
for (int i = 0; i < argc; i++)
{
cout << argv[i] << endl;
}
cout << endl << endl << endl << endl;
system("pause");
return 0;
}