动 动力汽车 Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-21 #1 有一.exe程序,还有一个可以被.exe程序调用的.dll动态库程序,现在我想在dll中调用.exe中的某个函数或者过程做一些事情,比如往.exe程序上某些控件中填写内容,这个事件要在.dll程序运行中触发的,请问我该怎么做?有什么方法吗?
有一.exe程序,还有一个可以被.exe程序调用的.dll动态库程序,现在我想在dll中调用.exe中的某个函数或者过程做一些事情,比如往.exe程序上某些控件中填写内容,这个事件要在.dll程序运行中触发的,请问我该怎么做?有什么方法吗?
L lake_cx Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-21 #4 都是你写的就回调呗,exe是别人写的就只能HOOK
D delphi大男孩 Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-21 #5 delphi世界qq群:23981160,喜欢delphi的都来
L liyinwei Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-21 #6 支持 lake_cx 兄。 可是 Hook 没写过。
动 动力汽车 Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-21 #7 lake_cx: 能不能给个回调函数完整的应用demo,网上的回调函数介绍我也看了一下,写的都很大概,最好有详细的应用代码参考一下,多谢
A appfirst Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-22 #9 function GetInt(i:Integer):Integer; begin Result:=i*1000; end; Exports GetInt; 把以上两段语句加到某个exe的源代码中就可以导出GetInt函数,在调用端使用如下代码使用: Type TGetInt=function (i:Integer):Integer; Var GetInt:TGetInt; Var lib:THandle; Initialization Lib:=LoadLibrary('Project2.exe'); GetInt:=GetProcAddress(Lib,'GetInt'); Finalization FreeLibrary(Lib); 调用GetInt函数就可。
function GetInt(i:Integer):Integer; begin Result:=i*1000; end; Exports GetInt; 把以上两段语句加到某个exe的源代码中就可以导出GetInt函数,在调用端使用如下代码使用: Type TGetInt=function (i:Integer):Integer; Var GetInt:TGetInt; Var lib:THandle; Initialization Lib:=LoadLibrary('Project2.exe'); GetInt:=GetProcAddress(Lib,'GetInt'); Finalization FreeLibrary(Lib); 调用GetInt函数就可。
L lake_cx Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-23 #11 不过exe的函数建议使用静态引用,不要LoadLibrary和FreeLibrary,我不懂把exe去FreeLibrary会怎么样,你有兴趣可以试试
L liuchong Unregistered / Unconfirmed GUEST, unregistred user! 2007-07-23 #12 exe中也可以有 exports 的,和dll一样 我的程序就是exe调dll的函数 dll也调exe的函数