У меня есть закрытая исходная программа, которая генерирует события ActiveX, и мне нужно изменить мои, чтобы эти события могли быть получены. Таким образом, у нас есть два отдельных исполняемых файла, и никакой GUI-материал не используется. До сих пор я попал в этот момент, который работает только в случае, если событие генерируется и получил тот же способ:ActiveX и COM для межпроцессного взаимодействия
[event_source(native)]
class CSource {
public:
__event void MyEvent(int nValue);
};
[event_receiver(native)]
class CReceiver {
public:
void MyHandler(int nValue) { ... }
void hookEvent(CSource* pSource) {
__hook(&CSource::MyEvent, pSource, &CReceiver::MyHandler);
}
void unhookEvent(CSource* pSource) {
__unhook(&CSource::MyEvent, pSource, &CReceiver::MyHandler);
}
};
int main() {
CSource source;
CReceiver receiver;
receiver.hookEvent(&source);
__raise source.MyEvent(123);
receiver.unhookEvent(&source);
}
Теперь event_source
находится в приложении мне нужно взаимодействовать с. Как подключить ресивер и источник, если они находятся в двух отдельных процессах?
Любое объяснение или некоторые ссылки будут полезны.