关于回调函数的调用

我调用函数EnumWindows,参数1是个回调函数,在VC下可以测试通过,但是在wincc中提示错误:access violation,不知道是何原因,回调函数定义如下:BOOL  CALLBACK EnumWindowsProc(HWND hwnd,long lParam)
 不知道大家有遇到类似情况吗?

最佳答案

这个函数是需要SDK支持的!但wincc没有集成SDK,wincc的编译器没哪么强大,只是支持简单的脚本,所以这个不直接支持!
 不过你可以做成DLL给WINCC调用!
 你用VC都知道,里面有MFC框架,其实这个MFC框架是在SDK基础上做好了一部门编码工作了,你只要写自己的部分代码就是了!
 系统自动生成不少代码的。如果你的代码脱离了SDK或者MFC的话,也不能直接编译连接的。
 所以在VC下面,在编译连接这一不上是需要开发平台支持的,就比如C语言的printf()函数是C语言库函数,如果你没有那个库编译连接的话,C语言根本就不知道是啥玩意了。
参考资料:windows编程原理

提问者对于答案的评价:
做成DLL可以使用了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午1:08
下一篇 2019年6月11日 下午1:08

相关推荐