你好,亲爱的朋友,我是“编程爱好者论坛”的会员,有问题想请教你,希望你能回复。

       我第一次看VC用的是,希望电子出版社的《VC++ 技术内幕》(第五版),看了三个月,有很多地方都不懂,初次接触windows编程,着实有点累,不久前我买了一本,《windows API》,是直接用,API函数进行编程,看了之后,我一下子了解了很多,真的很开心,好幸福。

      比如,在MFC中所说的:消息处理函数,就是OnCreate,OnPaint,之类的。看了API之后,才知道真正的消息处理函数是在注册窗口类的时候由程序员指定的,而这些OnCreate,OnPaint,是消息处理函数根据消息的类型调用的函数,明白了这些,哈哈我真是太开心了。

     第二,MFC那本书只说,与线程涉及的术语“同步”,我想为什么要把同步叫做同步,原来,比如,有线程A和线程B,线程A用来写数据到内存,而线程B从内存读数据存入磁盘,线程A只有将数据写入内存后,线程B才能读数据,如果线程B在线程A写入之前读数据,那么就会错误。为了达到正确的预期结果,必须将线程A和线程B进行同步。这才了解,什么叫做同步。哈哈,又是一个有价值的收获。

     如此之类的,还有很多,就不说了。

     我想请教你一个问题。

     在API中有这样一个代码。

PeekMessage(msg, hWnd, WM_MOUSEFRIST ,WM_MOUSELAST, PM_REMOVE);

if ( LOWORD( lParam)>rect.left && HIWORD ( lParam)<rect.right ) //如果鼠标点击在窗口客户区内

LPARAM 与 WPARAM  其值,是根据特定消息的类型而定的。宏,LOWORD 与 HIWORD 是取其值的低位,和高位,

我想看看这个LPARAM到底是个什么值,真的是第一次鼠标点击在窗口中的坐标吗!所以在这个 if  前面加了一条代码:

LPARAM  x=LOWORD( lParam);

想通过调试,进行验证,看看这个x是个什么值,可是我是在Visual Studio 2005 的“新建”,“常规”“空项目”中建立这个程序的,在进行调试时,显示,没有建立二进制调试信息,不知怎样才能进行调试。

     希望你多多指教,多谢了。

    LiJianGuang