发送消息调用其他程序的菜单或按钮高分求助,写外挂用的(100分)

  • 主题发起人 主题发起人 lunni
  • 开始时间 开始时间
L

lunni

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟想写一个程序调用别人的程序的功能.这个程序是个任务栏程序.右键点击后会有菜单弹出.想选择其中的一项.不知道如何写.
有人说要先找到程序窗口句柄,然后向相应控件发送消息,小弟不知如何做请高手不吝赐教.
 
再说清楚一些,小弟是想控制FOXMAIL,30秒收一次信,但FOXMAIL最小只能设置为1分种
 
找到foxmail窗口 findwindow postmessagewindow(windowHandle,WM_KEYDOWN,vk_F4,0)就可以了吧 加上定时器
 
最好后用: sendmessage
 
为什么我使用下面的语句不能找到指定标题的窗口的句柄呢.

procedure TForm1.Timer1Timer(Sender: TObject);
var
hWin:Thandle;
begin
hWin:=FindWindow('计算器',nil);
if hWin<>0 then
begin
self.Caption:='发现Foxmail程序句柄';
end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
hWin:Thandle;
begin
hWin:=FindWindow(nil,'计算器');
if hWin<>0 then
begin
self.Caption:='发现计算器程序句柄';
end;
end;
这是找到计算器的句柄,找Foxmail的句柄,你需要知道Foxmail的窗体的类名或窗体的标题。
 
谢谢大唐电信你写的很对.
to tan_jian:
f4是收取全部用户的邮件,它的那个"收取邮件(G)"的菜单项如何调用,
右键点任务栏的小图标会出现这个菜单
 
执行一个外部应用程序的菜单事件
procedure TForm1.Button1Click(Sender: TObject);
var
MainMenu,SubMenu:thandle;
begin
MainMenu:=GetMenu(handle);
if MainMenu<>0 then
begin
SubMenu:=GetSubMenu(MainMenu,0);
SendMessage(handle,WM_COMMAND,MakeLong(GetMenuItemId(SubMenu,0),0),0);//表示执行窗口主菜单的第一个子菜单下的第一个菜单的单击事件。
end;
end;
 
不错,你真的在大唐电信吗,我在铁通.不知道你对VOIP或NGN熟悉吗
给个联系方式,我的QQ:485557
 
是啊,但对NGN和VOIP不熟悉,不是做这个的。你们用的西安大唐的NGN交换机是吧?
 
不是,我们用的是华为的
 
请问怎样得到另一个程序BUTTON的状态(可用还是不能用)呢?现在可以得到这个BUTTON的HWND,谢谢!
 
IsWindowEnabled(hWnd: HWND): BOOL; stdcall;
 
接受答案了.
 

Similar threads

后退
顶部