首先申明,是(嵌入式)软件需要,不是干坏事,(经常被人误会)。我已经通过键盘钩子或者enumwindows之类的,或者直接用spy++得到了窗口句柄,控件句柄。
比如想给一个即已知,edit控件发消息,让它显示一段文字
::SendMessage(hEditWnd, WM_SETTEXT, 30, (LPARAM)(LPCSTR)szReturn);
这些已经成功了。但现在就不知道,怎么给list control之类的控件发消息。
让它的第几行第几列显示什么。因为list control之类的控件,用spy++只能得到它整个控件的窗口句柄,不能得到每一行那个小窗口。
再说,不同的编译器,这些控件是不同的,如C++ Builder是list view,我对CB还有些了解,这个还
好说。现在我们的目标程序是用powerbuilder做的,也不知道它那面那个类似list view的一个个小窗口
是不是自画的,反正spy++放上去不会圈住它。
这件事,严重影响了我们的进程,大侠救命呀!

解决方案 »

  1.   

    List Control的header是一个单独的控件,你可以获取到的
    但是每个item,应该不是窗口吧~(我没去追踪过操作系统UI库的实现,所以我不能100%确定)另外List Control发消息和你给Edit Box发消息方法一样的
    MSDN上有很多消息定义,LVM_XXXX找到很多呢
      

  2.   

    比如:
    lResult = SendMessage(  // returns LRESULT in lResult     
    (HWND) hWndControl,     // handle to destination control     
    (UINT) LVM_DELETEITEM,  // message ID     
    (WPARAM) wParam,        // = (WPARAM) (int) iItem;    
    (LPARAM) lParam         // = 0; not used, must be zero 
    ); 
    MSDN上有更多消息定义
      

  3.   

    LVM_DELETEITEM,关键这个东西怎么得到,上次看迅雷的,用ResScope软件就行了,
    这次看一个C++ Builder做的程序,就看不到了,也不一定是看不到,因为给出的东西
    实在太多,太乱,不知道怎么看