我在别人做的程序里面用dll注入方法生成了按钮控件。
程序里面本来有个2个按钮控件这样有了3个按钮控件。
我问的是点击我生成的按钮时候它得不到焦点(选中效果),
但是事件发生时没有问题。
本来有的2个按钮是正常得到焦点。
给按钮焦点的语句是用setfocus和SendMessage(Button.Handle,WM_SETFOCUS,0,0)但是不起作用。
望大虾们帮忙解答

解决方案 »

  1.   

    SetForegroundWindow将窗体之前后再设置焦点
      

  2.   

    try:      SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle);
          SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle);
      

  3.   

    一楼的方法你是怎么试的?
    调用SetForegroundWindow窗体置前,之后设置焦点也没有用?
      

  4.   

    我是直接用SetForegroundWindow(button.handle)写的补齐作用。
    设置焦点方法是用setfocus方法吗?
      

  5.   

    举个例子。
    SetForegroundWindow(窗口句柄);
    SendMessage(Button.Handle,WM_SETFOCUS,0,0);
    这样写还是不行。