你能告诉我如何在我的C程序中使用以下功能。如何从德尔福的DLL中导入函数?
德尔福DLL - 导出功能:
function GetCPUID (CpuCore: byte): ShortString; stdcall;
function GetPartitionID(Partition : PChar): ShortString; stdcall;
我没有为DLL的源代码,所以我必须适应我的C程序到DLL,而不是周围的其他方式。
我做以下,并得到错误
typedef char* (_stdcall *GETCPUID)(BYTE);
typedef char* (_stdcall *GETPID)(PCHAR);
GETCPUID pGetSerial;
GETPID pGetPID
HMODULE hWtsLib = LoadLibrary("HardwareIDExtractor.dll");
if (hWtsLib){
pGetSerial = (GETCPUID)GetProcAddress(hWtsLib, "GetCPUID");
char *str = (char*) malloc(1024);
str = pGetSerial((BYTE)"1");
pGetPID= (GETPID)GetProcAddress(hWtsLib, "GetPartitionID");
char *str1 = (char*) malloc(1024);
str1 = pGetPID("C:");
}
感谢
你准确得到了什么错误?没有这些信息就很难提供帮助。 – rusvdw 2009-03-04 14:49:08
该程序编译并运行,但在调用DLL函数时崩溃。 – Ampere 2009-03-05 09:04:28