Как написать расширение оболочки на C ++?

Это казалось обычным вопросом, но после некоторого поиска я не смог найди мои ответы. Здесь есть статья по этому поводу:

http://www.codeproject.com/KB/shell/shellextguide1.aspx

Но это для очень старой версии Visual Studio. Я использую VS 2008, поэтому инструкции и интерфейсы не соответствуют тому, что я вижу.

Я хочу создать простое расширение оболочки с использованием C ++, которое создает контекстное меню для файлов с расширением .GZ. Щелкнув эти файлы правой кнопкой мыши, я смогу щелкнуть пункт контекстного меню и получить обратный вызов в коде для выполнения какой-либо операции с этим файлом.

Другие пункты контекстного меню могут выполнять такие действия, как создание диалогов без модов, чтобы принимать вводимые пользователем данные перед выполнением какого-либо действия.

Из того, что я видел, для этого используется ATL, но я никогда не использовал ATL, поэтому все типы объектов и интерфейсы меня очень сбивают с толку. Было бы не так уж плохо, если бы у меня был подходящий учебник или документация для чтения.

Кто-нибудь может мне помочь? Разве не существует какой-нибудь учебник, которому не исполнилось 10 лет?

17
задан Sheng Jiang 蒋晟 10 January 2012 в 23:23
поделиться