热情软件屋

 

如何在Delphi中调用DLL中没有名字的函数


编号:QA004250
建立日期: 2001年6月11日 最后修改日期:2001年6月11日
所属类别:

djsf:
    操作系统: WINDOWS
    编程工具: VB,DELPHI
    问题: 如何把VB的声明:
    Public Declare Function RegisterShellHook Lib "Shell32" Alias "#181" _
    (ByVal hwnd As Long, ByVal nAction As Long) As Long
    转换成DELPHI的声明?
    我在DELPHI中这样声明:
     Function RegisterShellHook(hwnd ,nAction:integer):integer; stdcall; external 'Shell32.dll' name 'RegisterShellHook';
    总是找不到RegisterShellHook的入口。不知错在那里?
    水平: 刚入门

回答:

    RegisterShellHook这个函数在DLL中并没有名字,而是通过索引号调用的。这点从VB的声明中可以看出,Alias "#181"说明该函数的索引号为181,对于这种函数,应该这样声明:
    Function RegisterShellHook(hwnd ,nAction:integer):integer; stdcall; external 'Shell32.dll' index 181;

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio