如题,我用SPY++抓到句柄,但是在98下和XP下句柄不一样,不能进行操作。
希望大家帮我解决一下,解决马上结帖。

解决方案 »

  1.   

    >>我用SPY++抓到句柄,但是在98下和XP下句柄不一样,不能进行操作句柄 每次都可能動態變化的, 還是要每次運行時查找
      

  2.   

    你用SPY++ 应该抓它的类型 
    然后用FindWindow/FindWindowEx找到 其BUTTON当时的句柄...
      

  3.   

    能写个代码吗?这个BUTTON是在万象一个进程里面的一个线程中的,我不知道怎么去查找这个句柄,我用消息不熟,能不能再说详细一点?
      

  4.   

    var hnd: THandle;
    begin
     Handle := Self.Handle;
      GetClassName(Handle, myClassName, 64);
      Memo1.Lines.Add(Format('%7d %-64s',[Handle,StrPas(myClassName)]));
      {now list all the others}
      While Handle > 0 do
       begin
         Handle := GetWindow(Handle, GW_HWNDNEXT);
         GetClassName(Handle, myClassName, 64);
           Memo1.Lines.Add(
             Format('%7d %-64s',[Handle,StrPas(myClassName)]));
       end;
    end;
      

  5.   

    如果BUTTON太多的话,再把GetWindowText也加上,来判断哪一个是你想要的!!