把c#代码转换为c++代码.把剩下的分全分了。在线等。。。

beizu 2009-04-07 08:26:11
class CHCDPort
{
#if defined(USE_PRINT_LOG)
FILE* m_fLog;
#endif

HMODULE m_hLib;
typedef BOOL (*PFNCONNHCD)(void); PFNCONNHCD m_pConnHCD;
typedef BOOL (*PFNLEDFLASH)(void); PFNLEDFLASH m_pLEDFlash;
typedef BOOL (*PFNLEDON)(void); PFNLEDON m_pLEDOn;
typedef BOOL (*PFNLEDOFF)(void); PFNLEDOFF m_pLEDOff;
typedef double (*PFNGETHCD)(void); PFNGETHCD m_pGetHCD;

public:
CHCDPort();
virtual ~CHCDPort();

inline BOOL WINAPI Load(void)
{
#if defined(USE_HOOK_HCDPORT)
m_hLib = ::LoadLibrary(_T("HCDPort.dll"));
if (NULL == m_hLib)
{
TCHAR tzTemp[MAX_PATH * 2];
wsprintf(tzTemp, _T("Cannot load HCDPort.dll, app not run in the right way!"));
::MessageBox(NULL, tzTemp, _T("Attention"), MB_ICONSTOP);
return FALSE;
}
m_pConnHCD = (PFNCONNHCD)::GetProcAddress(m_hLib, "ConnectHCD");
if (NULL == m_pConnHCD)
OutputDebugString(_T("function ConnectHCD not found!"));

m_pLEDFlash = (PFNLEDFLASH)::GetProcAddress(m_hLib, "LEDFlash");
if (NULL == m_pLEDFlash)
OutputDebugString(_T("function LEDFlash not found!"));

m_pLEDOn = (PFNLEDON)::GetProcAddress(m_hLib, "LEDOn");
if (NULL == m_pLEDOn)
OutputDebugString(_T("function LEDOn not found!"));

m_pLEDOff = (PFNLEDOFF)::GetProcAddress(m_hLib, "LEDOff");
if (NULL == m_pLEDOff)
OutputDebugString(_T("function GetHCD not found!"));

m_pGetHCD = (PFNGETHCD)::GetProcAddress(m_hLib, "GetHCD");
if (NULL == m_pGetHCD)
OutputDebugString(_T("function GetHCD not found!"));

return (NULL != m_hLib);
#else
return TRUE;
#endif
}

inline void WINAPI Release(void)
{
#if defined(USE_HOOK_HCDPORT)
if (NULL != m_hLib)
FreeLibrary(m_hLib);
m_hLib = NULL;
m_pConnHCD = NULL;
m_pLEDFlash = NULL;
m_pLEDOn = NULL;
m_pLEDOff = NULL;
m_pGetHCD = NULL;
#endif
}

BOOL WINAPI Initialize(HINSTANCE hDllInst);

#if defined(USE_HOOK_HCDPORT)
BOOL WINAPI ConnectHCD(void);
BOOL WINAPI LEDFlash(void);
BOOL WINAPI LEDOn(void);
BOOL WINAPI LEDOff(void);
double WINAPI GetHCD(void);
#endif
};
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangkuai3 2009-05-29
  • 打赏
  • 举报
回复
m_pConnHCD = (PFNCONNHCD)::GetProcAddress(m_hLib, "ConnectHCD");
调用的函数名是
ConnectHCD
其中注意一下参数的传递
cpio 2009-04-07
  • 打赏
  • 举报
回复

其实就是通过API调用HCDPort.dll里面的函数
对于下面这句
m_pConnHCD = (PFNCONNHCD)::GetProcAddress(m_hLib, "ConnectHCD");
调用的函数名是
ConnectHCD

ewaterlong 2009-04-07
  • 打赏
  • 举报
回复
是把c++转成c#吧
kkun_3yue3 2009-04-07
  • 打赏
  • 举报
回复
帮顶了
windsea123 2009-04-07
  • 打赏
  • 举报
回复
是把c++转成c#吧,c#调用api的资料网上有的,这段代码估计没人能救你,呵呵。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧