Amy_1007的专栏

谁说我不可以!

【转】Exe工程如何转为ATL COM工程

转来的,转来的~~~~~~~~~~~~~
HeatPrintAx涉及到工程转换及Activex控件发布,这篇文章只讲工程转换。
1.       由于原来是个Exe项目,所以首先要实现的是把exe工程转换为Atl Com工程。
步骤如下:
把原来的应用程序入口int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
改为DLL入口
BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/) ;
并在代码中加入STDAPI DllRegisterServer(void);STDAPI DllUnregisterServer(void);等COM组件注册接口;
在工程中加入def文件指定dll的输出函数;
在工程的setting中,把工程的输出文件格式改为dll,加入dll工程需要的预定义符号_USRDLL,在Link页的project options中,找到windows,在其后加入 /dll。
打开工程的setting,打开custom build页面,
在description项中输入Performing registration,
在commands项中输入regsvr32 /s /c "$(TargetPath)"
echo regsvr32 exec. time > "$(OutDir)/regsvr32.trg"
在Outputs项中输入$(OutDir)/regsvr32.trg;
生成一个标准的IDL文件,并加入工程中;

new一个ATL控件,作为原exe程序主窗口的父窗口,把原主窗口改为child样式,即可。

阅读更多
文章标签: exe dll windows build
想对作者说点什么? 我来说一句

ATL实现的comexe

2011年10月18日 23KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭