作者GooLoo (平凡)
看板C_and_CPP
標題[問題] API載入問題
時間Tue Jul 24 20:23:36 2012
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
想載入advapi32.dll
因為手邊的書沒有API內容, 所以上網查資料,
下面是以自己瞭解後所寫的程式, 不知道對不對?
如果錯,那該怎麼改呢?
另外, 有3個問題想請教,如問題1~3,
問題1.
當a) 中RegOpenKeyA和RegQueryValueExA註解移除的話,會出現...
Type name expected
不曉得為什麼? 還是.....我瞭解有錯?
問題2.
Visual Basic 可以定義 a as any, 這邊的any在BCB要怎麼定義呢?
問題3.
BCB中int/long會出現黑體字, String不會出現粗體黑字,這是正常的嗎?
餵入的資料(Input):
預期的正確結果(Expected Output):
API成功導入
錯誤結果(Wrong Output):
a)註解拿掉會錯誤
程式碼(Code):(請善用置底文網頁, 記得排版)
a) 建了1個h檔,內容為
long __declspec(dllexport)__stdcall RegCloseKey(long hKey);
//long __declspec(dllexport)__stdcall RegOpenKeyA(long hKey,
String lpSubKey,
long phkResult);
//long __declspec(dllexport)__stdcall RegQueryValueExA(long hKey,
String lpValueName,
long lpReserved,
long lpType,
String lpData,
long lpcbData);
b)主程式最上面有加
#include "dll.h"
c)專案加入
C:\Program Files\Borland\CBuilder6\Lib\Psdk\advapi32.lib
C:\WINDOWS\System32\advapi32.dll
d)F9後, 沒有發生錯誤
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.239.43
→ purincess:你的String是啥? 07/24 20:45
→ GooLoo:真的是String的問題, 如果要宣告"字串"是用char嗎? 07/24 23:13
→ GooLoo:我看BCB 字串都是用String,不知道為什麼這邊不能用 07/24 23:13
※ 編輯: GooLoo 來自: 220.135.239.43 (07/26 22:42)