hur.cn - 华软网

 热门搜索

[win32 sdk]关于sendmessage的问题

  作者:未知    来源:网络    更新时间:2011/4/15
   在做一个对话框的程序。
   将接收到的数据发送到状态栏。在这里出现了问题。

    char  WndTitle[30]=""; 
    sprintf(WndTitle,"xxxx:%04x,USB ID:%04x",LOWORD(DeviceID),HIWORD(DeviceID));
    SendMessage(hWndStatus,SB_SETTEXT,0,(LPARAM)WndTitle);
   然后在状态栏出现的都是乱码。
   在网上查了下说有可能是unicode的问题。我查了在配置里面。是使用unicode的字符集
   我觉得应该是(lparam)的强制转换问题。。但是不知道如何解决。。
---华软 网友回答---
C++"> lResult = SendMessage(     // returns LRESULT in lResult
        (HWND) hWndControl,        // handle to destination control
        (UINT) SB_SETTEXT,         // message ID
        (WPARAM) wParam,           // = (WPARAM) (INT) iPart | uType
        (LPARAM) lParam            // = (LPARAM) (LPSTR) szText
        );


char WndTitle[30]="";  
sprintf(WndTitle,"xxxx:%04x,USB ID:%04x",LOWORD(DeviceID),HIWORD(DeviceID));
这里你MessageBox()输出WndTitle()是否正确呢?
你能确保你的WndTitle数组没有溢出吗?
---华软网友回复---
这么改试试看:
C++">
wchar_t WndTitle[30] = {};  
wsprintfW(WndTitle,L"xxxx:%04x,USB ID:%04x",LOWORD(DeviceID),HIWORD(DeviceID));
SendMessageW(hWndStatus,SB_SETTEXT,0,(LPARAM)WndTitle);

---华软网友回复---
引用 1 楼 visualeleven 的回复:
C/C++ code
 lResult = SendMessage(     // returns LRESULT in lResult
        (HWND) hWndControl,        // handle to destination control
        (UINT) SB_SETTEXT,         // message ID
        (W……

你好,感谢你关注这个帖子。
首先我的wndtitle是没有溢出的。我给他赋初始值试过也是乱码。
之前碰到这个情况我后来没有使用数组直接用的
SendMessage(hWndStatus,SB_SETTEXT,1,(LPARAM)TEXT("USB_CAN设备已拔出."));
这里本来我用的是一个数组。来显示usb设备的插入和拔出情况。。结果不成功我后来就用了这个方法、
但是这里因为数据是获得的。没辙了。特来此求助
---华软网友回复---
引用 2 楼 aiwnx 的回复:
这么改试试看:

C/C++ code

    wchar_t WndTitle[30] = {};  
    wsprintfW(WndTitle,L"xxxx:%04x,USB ID:%04x",LOWORD(DeviceID),HIWORD(DeviceID));
    SendMessageW(hWndStatus,SB_SETTEXT,0,(LPARAM)WndTitl……

我试试哈、、
---华软网友回复---
引用 2 楼 aiwnx 的回复:
这么改试试看:

C/C++ code

    wchar_t WndTitle[30] = {};  
    wsprintfW(WndTitle,L"xxxx:%04x,USB ID:%04x",LOWORD(DeviceID),HIWORD(DeviceID));
    SendMessageW(hWndStatus,SB_SETTEXT,0,(LPARAM)WndTitl……

非常感谢已经解决。。我看看到底是为神马。。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。