关于网友提出的“ 如何用DELPHI写一个可以被VBSCRIPT调用的DLL”问题疑问,本网通过在网上对“ 如何用DELPHI写一个可以被VBSCRIPT调用的DLL”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 如何用DELPHI写一个可以被VBSCRIPT调用的DLL
描述: 用delphi写了个DLL,用DELPHI调用成功,但现在想用VBSCRIPT调用该DLL该怎么处理呢,我的代码如下:
type
WProperty = record
sWidgetName:ShortString;
nLeft:Integer;
nTop:Integer;
nHeight:Integer;
nWidth:Integer;
sContent:ShortString;
end;
PWProperty = ^WProperty;
function GetCtrInfo(HWnd:THandle;CtrlName:ShortString):WProperty;
var
FHwnd: THandle;
begin
FHwnd := GetFormHwnd();
New(p);
p^.sWidgetName := CtrlName;
Data.cbData := SizeOf(p^);
Data.lpData := p;
if HWnd <> 0 then
SendMessage(HWnd, WM_COPYDATA, FHwnd, Longint(@Data));
result.nLeft:= p^.nLeft;
result.nTop:= p^.nTop;
result.nHeight:= p^.nHeight;
result.nWidth:= p^.nWidth;
result.sContent:= p^.sContent;
Dispose(p);
end;
exports
GetCtrInfo;
DELPHI的调用程序:
function GetCtrInfo(HWnd:THandle;CtrlName:ShortString):WProperty;external 'Project4';
procedure TForm2.btn3Click(Sender: TObject);
var
HWnd: THandle;
t:WProperty;
begin
HWnd := FindWindow('TForm1' ,'待测程序');
t:=GetCtrInfo(HWnd, 'lbl1');
ShowMessage(IntToStr(t.nLeft));
ShowMessage(t.sContent);
end;
最好能给出相应的源码及VBS方面调用的代码,谢谢!!!
解决方案1: 1、新建工程
ActiveX->ActiveX Library
工程名为Project6
2、添加类
ActiveX->Automation Object,
CoClass Name为MyClass
类名为MyClass
调用
工程名.类名
===>
Project6.MyClass
以上介绍了“ 如何用DELPHI写一个可以被VBSCRIPT调用的DLL”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2267051.html