写一个聊天辅助程序

ContractedBlock.gif ExpandedBlockStart.gif Code
procedure TForm1.Button1Click(Sender: TObject);
var
hParent,hButton,hMemo: HWND;
begin
Memo1.SelectAll;
//Memo内容全选
Memo1.CopyToClipboard;
//把Memo中选中的语句拷贝到剪贴板中
try
//找发送消息的QQ窗口
hParent :
= FindWindow(nil'发送消息');
//然后找回话时用的编辑窗口,Point函数用于返回一个TPoint类型变量
hMemo :
= ChildWindowFromPointEx(hParent, Point(50100), CWP_ALL);
//找到“送讯息”按钮的句柄 
hButton :
= FindWindowEx(hParent,0,nil,'送讯息(&S)');
if (hParent = 0or (hMemo = 0or (hButton = 0then
MessageBox(Handle,
'没有找到发送窗口,请重试!','错误',MB_ICONWARNING)
else
begin
//向发送消息中的回话编辑框发送粘贴消息
SendMessage(hMemo,WM_PASTE,
0,0);
//向“送讯息”按钮送单击消息以模仿按键发送回话
SendMessage(hButton,BM_CLICK,
0,0);
end;
except
//如果发生意外错误给出提示
MessageBox(Handle,
'发送消息出错,请重试!','错误',MB_ICONWARNING);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
hParent,hButton,hMemo: HWND;
begin
Memo1.SelectAll;
Memo1.CopyToClipboard;
//把Memo中选中的语句拷贝到剪贴板中
try
//找对话模式中窗口
hParent :
= FindWindow(nil'对话模式');
//找到对话模式中的回话编辑框
hMemo :
= ChildWindowFromPointEx(hParent, Point(50300), CWP_ALL);
hButton :
= FindWindowEx(hParent,0,nil,'送讯息(&S)');
//如果有任何一个句柄没有找到都不能完成发送,并给出提示 
if (hParent = 0or (hMemo = 0or (hButton = 0then
MessageBox(Handle,
'没有找到发送窗口,请重试!','错误',MB_ICONWARNING)
else
begin
//向对话模式中的回话编辑框发送粘贴消息
SendMessage(hMemo,WM_PASTE,
0,0);
//向“送讯息”按钮送单击消息以模仿按键发送回话
SendMessage(hButton,BM_CLICK,
0,0);
end;
except
//如果发生意外错误给出提示
MessageBox(Handle,
'发送消息出错,请重试!','错误',MB_ICONWARNING);
end;
end;
end.

转载于:https://www.cnblogs.com/bsoom/archive/2009/11/14/1603063.html

你可能感兴趣的:(写一个聊天辅助程序)