vc6.0做的DLL,能否控制该DLL只能在指定的工程中运行?????????????????????????????? vc6.0做的DLL,能否控制该DLL只能在指定的工程中运行??????????????????????????????例如: FOR.dll只能在一个叫Repadf.exe的项目中运行。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在dll加载之后exe调用dll中的某个函数,如果失败则退出程序什么的. 你的动态库不是可以调用GetCurrentModule吗?对这个判断就行了。如果你导出去的是类,在构造函数里面加。如果不是,那么就导出个接口,使用本动态库前必须调用你的接口就可以了。 在DllMain里 if (dwReason == DLL_PROCESS_ATTACH) { TRACE0("licdll.DLL 正在初始化!\n"); TCHAR MF[MAX_PATH]; GetModuleFileName(hInstance,MF,sizeof(MF)); if(MF的后10位不是Repadf.exe) return 0; if (dwReason == DLL_PROCESS_ATTACH) { TRACE0("licdll.DLL 正在初始化!\n"); TCHAR MF[MAX_PATH]; GetModuleFileName(hInstance,MF,sizeof(MF)); if(MF的后10位不是Repadf.exe) return 0;MF得到的应该是改dll的 路径啊 ,好像没什么用啊? 将GetModuleFileName(hInstance,MF,sizeof(MF))中的hInstance换成 NULL 就可以了。 GetModuleFileName也不行啊,如果用户将文件名改了,(Repadf.exe -》 识别.exe)就不行了啊,文件名得允许用户改动啊。 最好是加入验证机制, 比如传入参数包含当前计算机特定的值而计算得到的值. 交由DLL验证正确性, 如果不符,就拒绝执行函数.验证函数不导出.在DLL内部使用. RAS*编程时,如何从网络连接名称获取连接状态? 求教下关于ACCESS数据库登录界面的问题 怎样让静态文本框资源透明? 磁性窗口 谁能提供.net风格的ControlBar源代码(VC/MFC) vc中用那个函数可以得到字符的ASCII码 高手请进!!ATL COM封装访问数据库问题!谢谢 请问后台监控程序如何实现? 紧急求助,dll的使用! socket通信为什么服务器会停在监听那(不开客户端) vc++中,用ado执行sql server存储过程 取得output值怎么做? 标签颜色问题
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("licdll.DLL 正在初始化!\n");
TCHAR MF[MAX_PATH];
GetModuleFileName(hInstance,MF,sizeof(MF));
if(MF的后10位不是Repadf.exe)
return 0;
{
TRACE0("licdll.DLL 正在初始化!\n");
TCHAR MF[MAX_PATH];
GetModuleFileName(hInstance,MF,sizeof(MF));
if(MF的后10位不是Repadf.exe)
return 0;MF得到的应该是改dll的 路径啊 ,好像没什么用啊?
文件名得允许用户改动啊。
验证函数不导出.在DLL内部使用.