c语言写dll结构体,易语言 调用C++DLL 获取结构体数据

>> 4) & 0xF;

if (j <= 9)  h = j + '0';

else h = j + 'A' - 10;

memset(hex, 0, sizeof(hex));

sprintf(hex, "%C", h);

lstrcat(lpOutText, hex);

j = d& 0xF;

if (j <= 9)  h = j + '0';

else  h = j + 'A' - 10;

sprintf(hex, "%C ", h);

lstrcat(lpOutText, hex);

}

//MessageBox(0, buf, "提示", MB_OK | MB_ICONINFORMATION);

return lstrlen(lpOutText);

}

int GetMemoCount(HWND hMemo)

{

int Result = SendMessage(hMemo, EM_GETLINECOUNT, 0, 0);

if(SendMessage(hMemo,

EM_LINELENGTH,

SendMessage(hMemo, EM_LINEINDEX, Result - 1, 0),

0) == 0)

Result--;

return Result;

}

void MemoPut(HWND hMemo, int Index, char *data)

{

SendMessage(hMemo, EM_SETSEL, 666536+Index, 666536);

SendMessage(hMemo, EM_REPLACESEL, true,  (LPARAM)data);

}

LONG CALLBACK AOnData(LONG lParam)  //THookData* p

{

PHookData p = NULL;

p = PHookData(lParam);

if (p)

{

char buf[255] = {0};

char data[8912*3+64] = {0};

if (p->CommState == COMM_OPEN){

sprintf(buf, "打开 COM%d \r\n",  p->ComPort);

}

else if (p->CommState == COMM_CLOSE){

sprintf(buf, "关闭 COM%d \r\n",  p->ComPort);

}

else if ((p->CommState == COMM_READ) || (p->CommState == COMM_WRITE))

{

if (p->CommState == COMM_READ) {

sprintf(buf, "COM%d, Read: %d(Bytes) ", p->ComPort, p->DataSize);

ReadTotal += p->DataSize;

SetRichEditFontColor(0xFF0000);

}

else {

sprintf(buf, "COM%u, Write: %d(Bytes) ", p->ComPort, p->DataSize);

WriteTotal += p->DataSize;

SetRichEditFontColor(0x008000);

}

// MessageBox(0, p->Data, "提示", MB_OK | MB_ICONINFORMATION);

// sprintf(data, "%s", buf);

lstrcat(data, buf);

FormatHex(hHex, p->Data, p->DataSize, data);

lstrcat(data, "\r\n");

MemoPut(hMemo, GetMemoCount(hMemo)+1, data);

//更新状态

GetDlgItemText(GetParent(hMemo), IDC_PID, buf, sizeof(buf));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值