制作 C++ 应用程序 "Opened with..."
Making a C++ application "Opened with..."
我正在开发一个或多或少围绕重命名文件的 (C++) 程序。我想这样做,这样你就可以 select 一个文件,用鼠标右键单击它,然后 select "Open With" 然后 select 我的应用程序。
我弄清楚了上下文菜单部分,我只是不知道如何做 C++ 部分。
换句话说,如何制作一个可以与文件一起打开(通过上下文菜单或直接打开)的程序(在C++中)并处理这个文件?
示例:
在我的 Windows 中,我将“.roberto”扩展名与“C:\Program Files\MyProgram\MyProgram.exe”相关联。因此,如果我打开一个“.roberto”文件,会弹出一个命令提示符,只显示 selected 文件的名称。
我希望这是清楚的,我不确定如何解释。我在搜索这个问题时也遇到了一些麻烦,所以如果之前有人问过这个问题,请原谅我。
谢谢
在 Windows 平台上,在基于 MFC 的应用程序中,这是由框架在 InitInstance()
方法中自动完成的你的申请 class:
EnableShellOpen();
RegisterShellFileTypes(TRUE);
重要提示: 通常此功能依赖于框架并且 OS 特定。
我想通了!
使用给 main 的参数是线索。下面的程序如果直接打开打印一行,这一行是程序本身的路径,如果用'Open with...'选项打开它还会显示选择的文件。
#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;
}
我正在开发一个或多或少围绕重命名文件的 (C++) 程序。我想这样做,这样你就可以 select 一个文件,用鼠标右键单击它,然后 select "Open With" 然后 select 我的应用程序。 我弄清楚了上下文菜单部分,我只是不知道如何做 C++ 部分。
换句话说,如何制作一个可以与文件一起打开(通过上下文菜单或直接打开)的程序(在C++中)并处理这个文件?
示例: 在我的 Windows 中,我将“.roberto”扩展名与“C:\Program Files\MyProgram\MyProgram.exe”相关联。因此,如果我打开一个“.roberto”文件,会弹出一个命令提示符,只显示 selected 文件的名称。
我希望这是清楚的,我不确定如何解释。我在搜索这个问题时也遇到了一些麻烦,所以如果之前有人问过这个问题,请原谅我。 谢谢
在 Windows 平台上,在基于 MFC 的应用程序中,这是由框架在 InitInstance()
方法中自动完成的你的申请 class:
EnableShellOpen();
RegisterShellFileTypes(TRUE);
重要提示: 通常此功能依赖于框架并且 OS 特定。
我想通了!
使用给 main 的参数是线索。下面的程序如果直接打开打印一行,这一行是程序本身的路径,如果用'Open with...'选项打开它还会显示选择的文件。
#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;
}