笑 笑西风 Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-29 #1 我的程序用CreateProcess调入另一个程序A.exe,A在进入时会调用B.dll中的服务。<br> 我在程序中如何才能知道B.dll已经调入内存?并获的hModule.<br>
我的程序用CreateProcess调入另一个程序A.exe,A在进入时会调用B.dll中的服务。<br> 我在程序中如何才能知道B.dll已经调入内存?并获的hModule.<br>
L lczhuohuo Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-29 #3 一般说来不用管dll是否调入,因为如果索要的dll没有调入的话,<br>windows会自动调入的。
笑 笑西风 Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-29 #4 我并不调用B.dll中的功能,只是通过知道B.dll的调入,明确A.exe运行到某个程度。
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-29 #7 说明:<br> hDLL := GetModuleHandle('B.DLL');<br> FoundDLL := hDLL <> 0;<br> if FoundDLL then<br> MessageDlg('Loaded!',mtInformation,[mbOk],0)<br> else<br> MessageDlg('Not found!',mtInformation,[mbOk],0);<br>
说明:<br> hDLL := GetModuleHandle('B.DLL');<br> FoundDLL := hDLL <> 0;<br> if FoundDLL then<br> MessageDlg('Loaded!',mtInformation,[mbOk],0)<br> else<br> MessageDlg('Not found!',mtInformation,[mbOk],0);<br>
L lczhuohuo Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-29 #8 哎呀,忘了,当初刚学dll的时候就使用的这个呀!傻!
Y y_zl Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-29 #9 利用WINDOWS API ,需要用到的函数是<br> Loadlibrary:用来连接动态库。<br> Getprocaddress: 用来返回动态库中方法和过程的指针。<br> Freelibrary: 用来释放动态库句柄。<br> 一切尽在自己的掌握中!<br> <br>
利用WINDOWS API ,需要用到的函数是<br> Loadlibrary:用来连接动态库。<br> Getprocaddress: 用来返回动态库中方法和过程的指针。<br> Freelibrary: 用来释放动态库句柄。<br> 一切尽在自己的掌握中!<br> <br>
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-01 #10 GetModuleHandle查 b.dll 只能在 a.exe 使用,<br><br>如果要在你的第一个程序(调用 CreateProcess 的程序)中知道b.dll的装入<br>1、可以使用CreateProcess中的 DEBUG_PROCESS 属性启动子进程,<br> 需要处理debug事件,不过可以知道子进程装入的dll<br>2、使用psapi.dll中的api
GetModuleHandle查 b.dll 只能在 a.exe 使用,<br><br>如果要在你的第一个程序(调用 CreateProcess 的程序)中知道b.dll的装入<br>1、可以使用CreateProcess中的 DEBUG_PROCESS 属性启动子进程,<br> 需要处理debug事件,不过可以知道子进程装入的dll<br>2、使用psapi.dll中的api
笑 笑西风 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-05 #11 我开始就试过GetModuleHandle,似乎是得不到正确结果。<br> 我在MSDN中还找到了EnumProcessModules,似乎可以,但又需要<br>Microsoft&reg; Platform Software Development Kit (SDK)。在Delphi<br>中根本找不到声明。即对PSAPI的声明。在机器中更找不到PSAPI.DLL。<br>谁有的话,请发给我。我的E-mail是 xzq@km169.net 。谢谢!<br> 问题先这样结束吧。如果谁有更好的做法,请写信给我,我可以重新<br>开个题目,继续探讨!
我开始就试过GetModuleHandle,似乎是得不到正确结果。<br> 我在MSDN中还找到了EnumProcessModules,似乎可以,但又需要<br>Microsoft&reg; Platform Software Development Kit (SDK)。在Delphi<br>中根本找不到声明。即对PSAPI的声明。在机器中更找不到PSAPI.DLL。<br>谁有的话,请发给我。我的E-mail是 xzq@km169.net 。谢谢!<br> 问题先这样结束吧。如果谁有更好的做法,请写信给我,我可以重新<br>开个题目,继续探讨!
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-06 #13 psapi可能只在nt下有用<br>如果你的是nt,安装bcb或者delphi后在winnt/system32下有psapi.dll<br>delphi中uses psapi就有那些api的定义了