Wrapper / Hook за проект C ++

По същество имам конзолна програма C ++ (оттук нататък „цел“), която е самостоятелна. Това е доста стандартна архитектура и всяка цел, която имам, ще има подобна архитектура.

На мен ми беше възложено да напиша GUI, за да контролирам състоянието на целта и да покажа данните, които тя изчислява. Всъщност не трябва да променям много източника на целта, тъй като целта е да мога да увивам / закачам всяка цел.

Първоначалната ми идея беше да добавя една функция към целта и да се закача за нея. След това, когато исках да изпратя данни до GUI, просто извиквам тази функция и предавам „пакет“ от данни. GUI решава какво да прави с него оттам нататък. Проблемът с това е, че не знам как да се свържа с функциите на целта.

Следващата ми идея беше просто да напиша обвивка за целта. Просто накарайте основния GUI да поиска целевия exe и след това да породи процеса. Но тогава не знам как да извлека данни от целта.

Също така имам ограничението да използвам възможно най-малко пакети на трети страни, нито един не би бил най-добър.

Има ли начини да се закачиш за мишена? Успях да намеря само уроци за EasyHook за закачане на WinAPI, което не е това, от което се нуждая.

Ще бъде ли закачането или опаковането най-добрият начин? Какво друго бихте препоръчали, ако нито едното, нито другото?

Благодаря ви предварително!