可以试一下textout(...)和setdlgitemtext(ID,CString)
解决方案 »
- 请教一下知道两点求直线,和第三点到直线的距离,数学问题。。。
- 我想问一下线程的问题
- 完成端口,当一个完成操作立即完成了,系统还有通知没有?
- 关于CListBox的ResetContent函数
- 关于ListCtrl的Report风格,被选上Item(深蓝色显示)发生改变时触动了哪个函数啊?如由第一项被选中变为第二项被选
- (菜鸟问题)请教:关于在工程中添加其它工程(或文件)的问题。(菜鸟问题)
- 请教,这种情况该用什么控件?如何设计?
- “对于消息传递和函数调用,我们应该如何很好协调他们的关系,用好这些。” 请赐教
- HELP!!100分送高手
- 如何让一个没有窗口的程序---?
- 谁能提供一下帮助.简单VC问题,好好得分哦
- ie的工作流程
PostMessage(hWnd,0x61,0x1e0001);
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);}
原来写过一个程序,可以将你输入的汉字,日文或英文翻译之后贴到
窗口里,就像用输入法一样。可是后来因为没有找到合适的词典,
就搁在一旁了,不过程序已经全写好了,谁要是不嫌累想给个词典,我就
把程序找出来,也发到csdn上大家玩玩。反正我觉得还挺好用,呵呵。
请把问题描述的详细一些.
补充 一下DrawText 也行!
而且 不同的窗口也不一样啊!
比如你要是想向 一个COMBOX或者list box发送一个字符的话 就要用 WM_SETTEXT
HWND hWnd=::FindWindow("Notepad",NULL);
HWND hWnd1=::FindWindowEx(hWnd,NULL,"Edit",NULL);
::PostMessage(hWnd1,0x102,65,0);
//若是写字板将 "Notepad" 改为 "WordPadClass"、 "Edit" 改为"RichEdit20W"
你是在那里查到这些类名的, 如:"NotePad", "Edit", "RichEdit20W"?
能告诉我方法吗?
一个是如何确定要发送窗口的句柄,如Phourm所说,“//若是写字板将 "Notepad" 改为 "WordPadClass"、 "Edit" 改为"RichEdit20W"” ,关键是这么得到处理窗口的句柄,比如说“写字板”程序升级了,那么应该将"Edit" 改为什么呢?或者其它的编辑器如Ultaledit等该改为什么呢?
第二个目的是有什么更多的方法发送呢?我看目前的回答不外乎是常见的两种方法,使用PostMessage和keybd_event函数,有没有什么其它的方法呢?
1:用钩子发字符,向目标窗口回放键盘事件。
2:做一个ime 在ImeToAsciiEx函数发自己键盘事件。(非常可靠但麻烦)
toNo9:如果你是对于特定的窗口发消息,可以用spy++找到,如果你想对任一进程的任一窗口的话,不太好办!
挂一个系统CBT钩子,截到所有焦点转移事件,这样你随时可以知道现在
哪个窗口有焦点,也就是要往哪个窗口发消息。
感谢newx,sxbyl和Phourm提供的有益参考!