高分:如何编写dll的回调函数
就想写一个最简单的dll--myDll.dll。里面实现一个函数void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
这个函数的实现也很简单,就是根据lpszCmdLine参数的不同,在注册表里写不同信息。
但是运行rundll32.exe myDll.dll,EntryPoint Parms 时,总是说myDll.dll出错 丢失条目: EntryPoint
到底是怎么回事啊?
函数名没错,myDll.dll我也copy到System32目录下了。
是不是写这个回调函数时还有一些什么需要注意的地方啊?
[解决办法]
EntryPoint函数导出了吗
[解决办法]
看你怎么导出的了。
[解决办法]
dll函数问题
[解决办法]
Generally, the entry point for DLL should be DllMain, check that the DllMain whether or not exists in .cpp file?
[解决办法]
EntryPoint 经过编译后, 名字可能已经改变,建议写成下面形势看看
rundll32.exe myDll.dll, _EntryPoint@16 Parms
[解决办法]
导出名字限定了没有,用程序测试一下。
[解决办法]
在yourDLL.cpp目录下建立一个 yourDLL.def文件,里面写上下面就ok
LIBRARY yourDLL
EXPORTS
EntryPoint
[解决办法]
然后用
F:\Microsoft Visual Studio\VC98\Bin\Dumpbin.exe 可以查看DLL的导出函数 先用那个看看
[解决办法]
学习一下。
[解决办法]
设置DLL的入口CRT函数
CrtDllMainStartup();//可能写错了,请参考MSDN