首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于WM_COPYDATA的有关问题!

2012-03-07 
关于WM_COPYDATA的问题!! - C++ Builder / Windows SDK/API程序是Delphid的想用C builder 编那位能不不能

关于WM_COPYDATA的问题!! - C++ Builder / Windows SDK/API
程序是Delphid的想用C builder 编那位能不不能指点指点
//接收消息函数声明
  procedure Dsc_dll_Mess(var cData: TWMCopyData); message WM_COPYDATA;
procedure TForm1.Dsc_dll_Mess(var cData: TWMCopyData);
var
  i, j, Len: Word;
  DevExist: Boolean;
  DevImei, str: string;
  DataLen: integer;
  DtuData: array of Byte;
begin
  case cData.CopyDataStruct.dwData of
  0: //DTU断线消息
  begin
  DataLen := cData.CopyDataStruct.cbData;
  if DataLen < 15 then Exit;

  setlength(DtuData, DataLen);
  Move(cData.CopyDataStruct.lpData^, DtuData[0], DataLen);

  //取设备IMEI
  DevImei := '';
  for i := 0 to 14 do
  begin
  if DtuData[i] <> $00 then
  DevImei := DevImei + Chr(DtuData[i])
  else break;
  end;

  if ListViewDev.Items.Count > 0 then
  begin
  for i := 0 to ListViewDev.Items.Count - 1 do
  begin
  if ListViewDev.Items[i].Caption = DevImei then
  begin
  ListViewDev.Items[i].ImageIndex := 0; //离线图标
  ListViewDev.Items[i].SubItems[2] := DateTimeToStr(Now); //离线时间
  break;
  end;
  end;
  end;
  end;

[解决办法]
翻译成C++大概是这个样子:
在.h文件的TForm1类中:

C/C++ code
    void __fastcall Dsc_dll_Mess(TWMCopyData &Msg);    BEGIN_MESSAGE_MAP        MESSAGE_HANDLER(WM_COPYDATA, TWMCopyData, Dsc_dll_Mess);    END_MESSAGE_MAP(TForm) 

热点排行