请邹建大侠解答一下。关于触发器调用dll的问题?谢谢.
怎么通过触发器(假设是insert触发器)发消息给应用程序(因为对方insert一条记录到我的数据库后就完成了他的工作,而我要用应用程序处理这条记录)?
本来我是这样处理:
1.写一个dll(该DLL由触发器调用)。
2.当有数据插入后,由触发器调用该dll中的某个函数,该函数用SendMessage(HWND, WM_INSERTMSG, NULL, NULL)到应用程序,或者干脆将该函数写成回调。
3.但是发现应用程序并没有收到自定义的WM_INSERTMSG消息。
不知道为什么收不到,是不是因为供数据库调用的dll和应用程序dll不一样?
经过我再测试:
1.两种dll格式:
a).在insert触发器调用的dll中,应用程序收不到来自dll的SendMessage()。
b).把insert触发器调用的dll改写成由应用程序调用的dll格式(两种dll的格式只是存在一点变化),发现应用程序是可以接收消息。
2.通过写文件的方法:
a).发现由触发器调用的dll中的hWnd确实有问题,是0(NULL)
b).改写成应用程序调用的dll中SendMessage参数hWnd值和Spy++一样。
c)PostMessage( HWND_BROADCAST, WM_INSERTMSG, NULL, NULL );也收不到。
不知道是什么问题?您一般是怎么解决此类问题的?