DLL内部如何实现这个 当有程序Load我这个DLL的时候,dll内部经过识别后,不允许主程序Load,然后自行freeload.比如要实现:A调用test.dll,test.dll判断A不符合某个规则,就退出A的调用,这样即使A运行了,但是在A的加载DLL列表列不会显示test.dll. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想到的是在加载建立一个导出函数或是dll公共变量,如果使用dll里面的导出函数之前不先调用这个函数就自己freeload 在DLL的begin //这里判一下,end.给你个例子:library testdll1;uses SysUtils, Classes, Dialogs, windows;{$R *.res}var canuse:boolean;procedure test;begin if canuse then messagebox(0,'test','mess',0);end;exports test;begin canuse:=false; //这里是true,就可以调用上面的test,否则不调用end. 还有一种最简单的办法原来的fun f(x,y)改为:fun(password,x,y)在fun里先判断password是不是'abc'的,不是就直接返回而只有你的主程序才知道需要传入'abc' 大家都在想怎么不让主程序使用,我仅是想实现不让主程序loadlibrary上 delphi6的DLL有关DllEntryPoint部分不支持(其它版本没测试,这个几年前我们就在csdn上讨论过),如果是bcb或vc,这个问题简单,只要在DllEntryPoint中判断就可以了(返回true,可加载dll,返回false不可加载)而D6,虽然有DLLProc,但经我测试,它只在DLL_PROCESS_DETACH时起作用(也就是释放DLL时)且它是个过程,不是函数,也就是说,无法控制DLL的载入所以,我只能在DLL中,用全程变量的方法,控制函数的执行,如果一定要控制DLL的载入,要么在主程序中控制,要么将DLL改成BCB的 MDI窗体背景问题,高手进,乞求救命也!!! delphi如何按照控件的左右顺序来遍历窗体中的每个控件 求助,类改名后无法通过编译 开发雷杜的酶标仪控制接口 cxGrid分组统计问题 菜鸟提问:delphi如何设置程序运行时的默认窗口 font size 为11的button 按钮显示有问题? 哪里可以下载 Delphi视频教学~` 小弟感谢不尽~~~~~~~~~ 怎么把两个表用两个字段关联起来?急!!! 怎麼看delphi幫助文件? 老朋友们好 运行到Tfrm_login.Create(self)时陷入死循环!求解!!
begin
//这里判一下,
end.
给你个例子:
library testdll1;uses
SysUtils,
Classes,
Dialogs,
windows;{$R *.res}
var
canuse:boolean;
procedure test;
begin
if canuse then
messagebox(0,'test','mess',0);end;
exports test;begin
canuse:=false; //这里是true,就可以调用上面的test,否则不调用
end.
原来的fun f(x,y)
改为:fun(password,x,y)
在fun里先判断password是不是'abc'的,不是就直接返回
而只有你的主程序才知道需要传入'abc'
而D6,虽然有DLLProc,但经我测试,它只在DLL_PROCESS_DETACH时起作用(也就是释放DLL时)且它是个过程,不是函数,也就是说,无法控制DLL的载入
所以,我只能在DLL中,用全程变量的方法,控制函数的执行,如果一定要控制DLL的载入,要么在主程序中控制,要么将DLL改成BCB的