我想要一個帶有窗口創建和管理代碼的DLL,開發人員只需添加一個名爲main.h的頭並加載DLL即可實例化一個窗口。將Windows消息循環封裝到一個DLL中
#include "dllheader.h"
void user_main();
main = user_main; // attach user main to the dll callback
int user_main() {
Window *w = new Window();
}
的DLL端的代碼看起來應該像
void (*main)() = NULL;
int WinMain(...) {
if(main)
main(); // call the user defined funcion
while(!done) {
if(messageWaiting()) {
processMessage();
}
}
}
爲什麼?因爲我想部署一個窗口包裝並避免讓用戶寫入WinMain入口點。但是一個DLL項目有一個DLL主體和一個win32項目,如果鏈接程序沒有找到winMain入口點,就會使用DLL抱怨。
是否有這種安排的解決方案?
沒什麼好說的,完美的。謝謝。 – 2009-07-21 01:07:12