申明dll中的函数时,系统会自动根据程序本身是64位就引用64位的函数吗?
在System32和SysWOW64中都有一个SetupAPI.dll,是否程序编译成32位就会自动调用32位的dll,编译成64位就会自动调用64位的版本?我的代码在D7和XP下正常,到Win7 64时函数就调用不成功了,要么是拒绝访问要么就是找不到指定模块,我已经把程序编译成了64位,也是以管理员身份运行程序,结果还是调用dll中的函数不成功,难道申明的时候就有什么特殊的讲究?
要让下面的代码在Win7 64下正常运行,请问需要做些什么处理?
function SetupDiGetClassDevs(const ClassGuid: PGUID; Enumerator: PChar;
hwndParent: HWND; Flags: DWORD): Cardinal; stdcall;
external 'Setupapi.dll' name 'SetupDiGetClassDevsA';