如何在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;
此问题由李海回答。
| |
|
|
| |
|
|