可以试一下textout(...)和setdlgitemtext(ID,CString)

解决方案 »

  1.   

    先将"a"搞到剪切版里,再向记事本SendMessage / PostMessage, 让它把剪切版里的内容粘贴到某位置。
      

  2.   

    用PostMessage,发送WM_CHAR消息,比如发送"a",
    PostMessage(hWnd,0x61,0x1e0001);
      

  3.   

    好象很困难,因为用PostMessage,发送消息都是发给框架窗口的(是框架窗口接收消息,而不是它的子窗口)。看看能不能找到子窗口发发!
      

  4.   

    {
      BYTE uVirtKey = 'a';
      HWND hWndNotePad;  //  Get notepad window handle by some way...
      //  hWndNotePad = xxx;  //  Keyboard input is directed to notepad's window
      SetForegroundWindow(hWndNotePad);  keybd_event((BYTE)uVirtKey, (BYTE)uScanCode, 0, NULL);
      keybd_event((BYTE)uVirtKey, (BYTE)uScanCode, KEYEVENTF_KEYUP, NULL);}
      

  5.   

    比较好的做法是用 keybd_event
      

  6.   

    大部分窗口可以用WM_CHAR的方法。
    原来写过一个程序,可以将你输入的汉字,日文或英文翻译之后贴到
    窗口里,就像用输入法一样。可是后来因为没有找到合适的词典,
    就搁在一旁了,不过程序已经全写好了,谁要是不嫌累想给个词典,我就
    把程序找出来,也发到csdn上大家玩玩。反正我觉得还挺好用,呵呵。
      

  7.   

    to No9
    请把问题描述的详细一些.
      

  8.   

    to Bill1212 这里用不到这么复杂吧!
    补充 一下DrawText 也行!
    而且 不同的窗口也不一样啊!
    比如你要是想向 一个COMBOX或者list box发送一个字符的话 就要用 WM_SETTEXT
      

  9.   

    //在打开的记事本文档中写入一个'A'
    HWND hWnd=::FindWindow("Notepad",NULL);
    HWND hWnd1=::FindWindowEx(hWnd,NULL,"Edit",NULL);
    ::PostMessage(hWnd1,0x102,65,0);
    //若是写字板将 "Notepad" 改为 "WordPadClass"、 "Edit" 改为"RichEdit20W"
      

  10.   

    To phourm:
    你是在那里查到这些类名的, 如:"NotePad", "Edit", "RichEdit20W"?
    能告诉我方法吗?
      

  11.   

    我提出这个问题,主要有两个目的:
    一个是如何确定要发送窗口的句柄,如Phourm所说,“//若是写字板将 "Notepad" 改为 "WordPadClass"、 "Edit" 改为"RichEdit20W"” ,关键是这么得到处理窗口的句柄,比如说“写字板”程序升级了,那么应该将"Edit" 改为什么呢?或者其它的编辑器如Ultaledit等该改为什么呢?
    第二个目的是有什么更多的方法发送呢?我看目前的回答不外乎是常见的两种方法,使用PostMessage和keybd_event函数,有没有什么其它的方法呢?
      

  12.   

    介绍两种可靠的方法(但麻烦)
        1:用钩子发字符,向目标窗口回放键盘事件。
        2:做一个ime 在ImeToAsciiEx函数发自己键盘事件。(非常可靠但麻烦)
      

  13.   

    也可以用剪切版啊!问题不在发送,而在于如何得到正确的窗口句柄。
    toNo9:如果你是对于特定的窗口发消息,可以用spy++找到,如果你想对任一进程的任一窗口的话,不太好办!
      

  14.   

    俺是这样确定要发送窗口的句柄的:
    挂一个系统CBT钩子,截到所有焦点转移事件,这样你随时可以知道现在
    哪个窗口有焦点,也就是要往哪个窗口发消息。
      

  15.   

    看来目前对于Windows系统的理解大家几乎都差不多,如果没有什么新的创意了,那么明天我就要给分了,分数不多,仅仅是个意思,谢谢大家的参与!
      

  16.   

    感谢finix的首次关注(但您将我的元素理解错了,不是向自己的控件发送)!
    感谢newx,sxbyl和Phourm提供的有益参考!