我用工具給你掃描了一下這個BKGND.DLL的接口函數,一共有以下22個函數,供樓主參考:DllCanUnloadNow 0x10002e80 0x00002e80 1 (0x1) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL 導出函數 DllGetClassObject 0x10002e40 0x00002e40 2 (0x2) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL 導出函數 DllRegisterServer 0x10002eb0 0x00002eb0 3 (0x3) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL 導出函數 IQMPlugin::FindCenterColor 16 (0x10) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::FindColor 14 (0xe) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::FindColorEx 15 (0xf) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::GetPixelColor 13 (0xd) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::KeyDown 2 (0x2) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::KeyPress 1 (0x1) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::KeyUp 3 (0x3) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::LeftClick 4 (0x4) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::LeftDoubleClick 7 (0x7) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::LeftDown 8 (0x8) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::LeftUp 9 (0x9) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::MiddleClick 6 (0x6) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::MoveTo 12 (0xc) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::RightClick 5 (0x5) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::RightDown 10 (0xa) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::RightUp 11 (0xb) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPlugin::SendString 17 (0x11) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPluginStandard::Get_Plugin_Description 1 (0x1) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法 IQMPluginStandard::Get_Plugin_Interpret_Template 2 (0x2) BKGND.DLL C:\Documents and Settings\Administrator\桌面\testdll\BKGND.DLL COM 方法
是VC7 写的一个 activex Dll
参考此处:
http://www.fx120.net/dnjc/delphi/zh/200512271048549901.htm
ReadCard_F: TReadCard_F;function SDT_OpenPort(iPort:Integer):Integer;stdcall;external 'sdtapi.dll';
procedure TReadCard_F.FormCreate(Sender: TObject);
var
jFini:TIniFile;
begin
inherited;
jFini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'mzdm.dll');
try
with jFini do
begin
iPort:=ReadInteger('Setup','USB',0);
end;
finally
jFini.Free;
end;
SDT_OpenPort(iport);
isReadingCard:=False;
gg:=GetSearchServiceSoap(False,'',nil);
end;
调用COM方法跟调用DLL的导出方法一样?
在你的环境变量Path中加入 C:Program FilesMicrosoft Visual Studio .NET 2003SDKv1.1Bin; C:WINNTMicrosoft.NETFrameworkv1.1.4322 随便建立一个ClassLibrary编译成DLL文件切换到MS-DOS命令行下面,运行: C:>regasm out ClassLibrary1.DLL /regfile:ClassLibrary1.reg 上面的命令行是注册我们的.NET组件,并且产生了一个备用的注册表文件。对应Windows的注册COM文件命令:regsvr32 c: est.dll . 在.NET下面,注册.NET组件就需要上面的regasm命令了 然后在MS-DOS命令行下面,运行: C:>tlbExp ClassLibrary1.dll /out:ClassLibrary1.tlb 上面的命令行表示将会产生一个.NET组件的类型库有了TLB文件也就和正常的COM组件一样了,运行Delphi导入类型库文件TLB...... 和正常的COM调用一摸一样...