Я пытаюсь вызвать IContextMenu непосредственно из dll расширения оболочки, но возникли некоторые проблемы.
В целом
- Загружаю DLL с помощью LoadLibrary
- Вызов GetProcAddress, чтобы получить адрес DllGetClassObject
- Позвонить DllGetClassObject для получения IID_IClassFactory
- Вызов CreateInstance для получения IID_ContextMenu
В конце концов я хочу получить доступ к IContextMenu и вызвать IContextMenu::QueryContextMenu. Как мне этого добиться?
#include
#include
#include
typedef HRESULT(WINAPI* DllGetClassObjectType)(REFCLSID rclsid, REFIID riid, void** ppv);
int main()
{
CoInitialize(NULL);
HMODULE hModule = LoadLibrary(L"C:\\Users\\UserName\\Desktop\\NppShell.dll");
if (!hModule) {
std::cout
Подробнее здесь: https://stackoverflow.com/questions/793 ... ension-dll
Мобильная версия