我打开了两个notepad:notepad1、notepad2;
现在想用sendmessage模拟Ctrl+A全选notepad上的文本,然后Ctrl+C复制
然后Ctrl+V粘贴到notepad2上网上查了很多都没有准备回复
求赐教~~~~~~~~~~~~~~
---------------------------------------------------------------------------
另一种实现方式
Const WM_COPY = "&H301";
Const WM_CUT = "&H300";
Const WM_PASTE = "&H302" ;
sendmessage(handle,WM_COPY,0,0)
问:c#中如何用定义Const这些消息?
现在想用sendmessage模拟Ctrl+A全选notepad上的文本,然后Ctrl+C复制
然后Ctrl+V粘贴到notepad2上网上查了很多都没有准备回复
求赐教~~~~~~~~~~~~~~
---------------------------------------------------------------------------
另一种实现方式
Const WM_COPY = "&H301";
Const WM_CUT = "&H300";
Const WM_PASTE = "&H302" ;
sendmessage(handle,WM_COPY,0,0)
问:c#中如何用定义Const这些消息?
public const int WM_CUT = 0x300;
public const int WM_PASTE = 0x302;
public const int WM_COPY = 0x301;
public const int WM_CUT = 0x300;
public const int WM_PASTE = 0x302;
你搞定了吗?
参考:
下面是C++的代码,但是可以看出实现思路。HWND hwnd=NULL;
hwnd=FindWindow("Notepad",0);
hwnd=FindWindowEx(hwnd,0,"Edit",0);
if (hwnd)
{keybd_event(VK_CONTROL,0,0,0);
PostMessage(hwnd,WM_KEYDOWN,65,0);
PostMessage(hwnd,WM_KEYUP,65,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);}
SendMessage(wHandle, WM_PASTE, 0, 0);其中vHandle是notepad1内edit的句柄
wHandle是notepad2内edit的句柄运行之后并没有把notepad1的内容复制到notepad2
而且notepad2出现了0x0302请教~~~~~
然后再用FindWindow、FindWindowEx、sendmessage
程序调试时逐句查看下,是否真的获取到了值,句柄的值是不是与spy++的一样
句柄绝对没问题
程序发送此消息给一个编辑框或combobox来删除当前选择的文本
WM_COPY = $0301;
程序发送此消息给一个编辑框或combobox来复制当前选择的文本到剪贴板
WM_PASTE = $0302;
程序发送此消息给editcontrol或combobox从剪贴板中得到数据而NOTEPAD编辑框的类型为SysListView32
thank you!