好像api有一个函数可以得到鼠标所在点的窗口句柄(在windows,按钮和编辑框都是窗口)
还有一个函数可以向指定的窗口句柄发消息,我得回去察察,:P

解决方案 »

  1.   

    我有源代码,先看看效果吧。
    EXE在你的邮箱中。
      

  2.   

    to yinfudan: 我去收收看,看能否解决,要是可以的话,一定给你加分,我说话算话的。
      

  3.   

    to cken:老兄你真逗,找到了吗,查好了别忘了告诉我,我给你加分的,谢谢!
      

  4.   

    //获取光标所在位置
    function GetCursorPos(var lpPoint: TPoint): BOOL; stdcall;//获取光标所在位置的窗口句柄
    function WindowFromPoint(Point: TPoint): HWND; stdcall;//向指定窗口发送消息
    function SendMessage(
      hWnd: HWND;     // 窗口句柄
      Msg: UINT;      // 消息号
      wParam: WPARAM; // 短参数
      lParam: LPARAM  // 长参数
      ): LRESULT; stdcall;//程序范例
    //关闭光标位置处的窗口
    procedure CloseCursorWindow;
    var
      P: TPoint;
      h: HWND;
    begin
      GetCursorPos(P);
      h := WindowFromPoint(h);
      SendMessage(h, WM_CLOSE, 0, 0);
    end;
      

  5.   

    GetFocus();
    返回当前焦点的句柄;
      

  6.   

    to zengyufeng:非常感谢您的回答,但可能您误解我的意思了,我是想不通过用鼠标定位的方法找到自己想要找的按钮或者是编辑框,不是窗口,使按钮或编辑框失效或者不可见。这个是可以实现的,我见过这样的软件,它能根据要求动态的改变指定程序的按钮或编辑框的属性:无效或者不可见。但我不知是如何实现的。如果您知道的话,千万麻烦告诉小弟我,万分感激!!加分那是理所当然的啦!
      

  7.   

    我给你发了一封信,里边有一个"窗口管理.zip"文件,这是我刚刚写好的程序,已测试过,没问题。开发环境:PWin98SE + Delphi5.0
      

  8.   

    to zengyufeng:你好,你的email我今天才收到,我仔细看了,编译也通过了,我也试了它的功能,真的很不错。我的意思是这样,我想查找特定的按钮或编辑框,比如:我在我自己的程序里设定要查找开始菜单的“开始”按钮,并且设定其可见性为不可见,当我的程序启动时“开始”按钮便不见了,当然也让它可见。我想直接查找一个子窗口的句柄好象有困难,用findwindow只能是顶层窗口,您用的那个函数把所有的列出来了,想查找特定的子窗口句柄不知用哪个函数,我找了一上午也没找到,麻烦您再告诉我一下了。我马上会给您加分的,就算您那个子窗口的问题没答出来我也会给您加分的。谢谢!
      

  9.   

    to zengyufeng:不用麻烦您了,我自己已经找到方法了,谢谢你的提示,我现在就给你加分,以表谢意!!