SendMessage参数个数究竟是三个还是四个?

greenesthand 2003-03-25 11:58:09
如下代码:
SendMessage (GetDesktopWindow(),WM_SYSCOMMAND,SC_MONITORPOWER,2);

当我把这行代码加到新生成的程序代码中(MFC AppWizard (exe),Signle Document),编译不成功,提示:error C2660: 'SendMessageA' : function does not take 4 parameters。
查看SendMessage的定义为:
LRESULT SendMessage(UINT message, WPARAM wParam = 0, LPARAM lParam = 0);

这是怎么回事?怎样才能按四个参数的格式使用SendMessage呢?谢谢大家的关注!

...全文
302 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
半宫佳丽 2003-03-25
  • 打赏
  • 举报
回复
CWnd to HWND pwnd->getsafehwnd()
greenesthand 2003-03-25
  • 打赏
  • 举报
回复
To icansaymyabc(学习与进步):

谢谢你的回复!但是编译仍不能通过。

出现如下提示。怎么转换呢?
error C2664: 'SendMessageA' : cannot convert parameter 1 from 'class CWnd *' to 'struct HWND__ *'
icansaymyabc 2003-03-25
  • 打赏
  • 举报
回复
不用管他的提示,你只管输入正确参数即可。
icansaymyabc 2003-03-25
  • 打赏
  • 举报
回复
SDK的SendMessage参数个数是四个
MFC的SendMessage参数个数是三个

在 MFC 的程序里
用 SendMessage(...)调用MFC的SendMessage
用 ::SendMessage(...)调用SDK的SendMessage
greenesthand 2003-03-25
  • 打赏
  • 举报
回复
输入::后,在提示框里有两个SendMessage,但是在输入
::SendMessage(
后,现的提示仍然都是三个参数的。

怎么办?
Automatic 2003-03-25
  • 打赏
  • 举报
回复
楼上的说的对!支持!
dxj221 2003-03-25
  • 打赏
  • 举报
回复
::SendMessage


SDK和MFC 的区别

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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