使用Delphi或Pascal从DINPUT.Dll调用API函数

时间:2012-01-11 15:36:50

标签: delphi directinput

我有一个使用来自dinput.dll(直接输入)的API的程序,我已对其进行监控,结果如下:

API名称:DirectInputCreateEx 模块名称:C:\ Windows \ system32 \ DINPUT.dll

关于另一个使用直接输入的程序:

API名称:DirectInputCreateA 模块名称:C:\ Windows \ system32 \ DINPUT.dll

此API将更新此注册表项:

HKEY_CURRENT_USER \系统\ CurrentControlSet \控制\ MediaProperties \ PrivateProperties \ DirectInput的

我想知道如何使用Delphi编写一个只为DirectInput dll调用此API的代码?

非常感谢任何帮助...

1 个答案:

答案 0 :(得分:1)

要调用直接输入,您需要对头文件进行Delphi转换。据我所知,最好的翻译可以从Clootie graphics pages获得。

您需要使用DirectInput.pas标题翻译。

至于编写一个没有显示Window的程序,这里是最简单的模板:

program MyProgram;
begin
  //write your program's code here
end.

您在评论中说明您要拨打的唯一功能是DirectInputCreateEx。要调用该函数,您需要以下导入声明:

function DirectInputCreateEx(hinst: THandle; dwVersion: DWORD; 
  const riidltf: TGUID; out ppvOut; punkOuter: IUnknown): HResult; 
  stdcall; external 'dinput.dll';