簡體   English   中英

將C ++應用程序“打開為...”

[英]Making a C++ application “Opened with…”

我正在研究一個或多或少圍繞重命名文件的(C ++)程序。 我要創建它,以便您可以選擇一個文件,右鍵單擊它並選擇“打開方式”,然后選擇我的應用程序。 我弄清楚了上下文菜單部分,我只是不知道該怎么做C ++部分。

換句話說,如何制作可以與文件一起打開(通過上下文菜單或直接打開它)的程序(在C ++中)並處理該文件?

示例:在Windows中,我將“ .roberto”擴展名與“ C:\\ Program Files \\ MyProgram \\ MyProgram.exe ”關聯。 因此,如果我打開“ .roberto”文件,則會彈出命令提示符,僅顯示所選文件的名稱。

我希望這很清楚,我不確定該如何解釋。 我在搜索這個問題時也遇到了一些麻煩,因此,如果以前曾問過這個問題,請原諒我。 謝謝。

在基於MFC的應用程序的Windows平台上,此操作由應用程序類的InitInstance()方法中的框架自動完成:

EnableShellOpen();
RegisterShellFileTypes(TRUE);

重要說明:通常,此功能取決於框架且特定於操作系統。

我想到了!

使用給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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM