已经获得其句柄,如何改变.

解决方案 »

  1.   

    是获取(Get),还是设置(Set)?
    char buf[] = "This text set by other process!";
    /*单行文本框 fellowing*/
     //如果是Set,那
     SetWindowText(/*已经获得其句柄*/hEdtWnd,
       buf,
       strlen(buf)
     );  //如果是Get,那就麻烦了win2k --> 关键字CreateRemoteThread
      //                        win9x ---> GetWindowText
    /*多行...太麻烦了,参阅MSDN --> GetWindowLong,EM_XXX*/
      

  2.   

    试试WM_SETTEXT消息,相信应该可以的,除非那个应用程序把这个消息完全接管了。
      

  3.   

    要得到文本并根据文本进行修改,可以结合使用EM_GETLINE(该消息所在的组足够你实现目标)等相关消息。
      

  4.   

    我用过了sendmessage,但是对enable属性为false的文本框,无效啊。
    另外,enablewindow,我也用过了,只能把文本框的enable设置为false,不能把它再改回来。
      

  5.   

    findwindow +findwindows+sendmessage=KO!!!!!!!
    呵呵~~~~
      

  6.   

    wxjh(苦儿) :
    什么意思啊?
    deanchang(鱼) :
    我不是做木马啊。我需要改变一个外部程序里一个Enable属性为false的文本框里的内容啊。
      

  7.   

    sorry~~~写错了findwindow +findwindowex+sendmessage
    首先findwindow得到外部程序的句柄,然后使用findwindowex的到编辑框的句柄
    ,然后使用sendmessage进行消息发送。没问题的,一般的oicq攻击软件的共性,呵呵~~~~~~
      

  8.   

    wxjh(秋水居士) :
    没用的啊,句柄我得到了,但是该文本框的enable属性为false,用sendmessage发wm-settext,不能改变其内容的。