Delphi 如何操作外部程序的控件(如按钮,文本框,单选按钮等)

看你要做什么,比较现在网络很流行的QQ、MSN这些软件都屏蔽了,你可能还可以访问一些小软件的这些控制,思路及方案如下(API函数自己去百度查一下)
1.得到你要这个窗口的句柄 使用FindWindow
2.利用枚举函数EnumChildWindows把这个窗口里的所有文本框、按钮找到,并得到其句柄,EnumChildWindows需要一个回调函数,你可以在回调函数中把模拟输入,单击双击这些操作加上去

3.在回调函数里,其实就是向你找到的按钮或文本框发送消息
消息说明:
比如得到文本框中的文字消息:WM_GETTEXT
设置文本框的文字消息:WM_SETTEXT
鼠标左键单击WM_LBUTTONDOWN必须与WM_LBUTTONUP配对使用
双击左键WM_LBUTTONDBLCLK

给你破盆冷水,现在要实现操作外部程序是很困难的,现在的软件都超级变态了,以前用Api能解决的问题对商业软件都无效了!自从大量程序出自C#.net之后传统APi就显得力不从心了,像什么Hook之类的都被现有的杀毒软件所封杀了,现在我们这些所谓的高手也都转向别的领域了,没有再研究他们的必要了。总之只要能在网上找到的技术很快就会过时!因为人家打算公布就意味着新技术的开始.这是专业人员给你回答!

使用API
SendMessage发送一个消息到指定的窗口,如何查找窗口的句柄就需要配合Spy++之类的工具了
例如SendMessage(Handle,WM_CLOSE,0,0);能关闭本窗口

posted on 2013-08-18 14:55  向北方 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/China3S/p/3265960.html

Delphi中菜单与工具栏按钮的状态控制     在好多的桌面应用程序中,会使用到菜单和工具栏按钮,不同的用户登录到应用系统中会依据其权限显示相应的菜单与工具栏按钮,在显示出来的菜单与按钮中又会根据程序的状态来设置其有效性。举个简单的例子,通常保存按钮是在编辑内容发生变化后才可以使用,数据集的保存需要在编辑状态下才可以使用。     刚开始编写程序时,代码中到处都是这些状态控制代码,如在数据集的“编辑”按钮、菜单的单击事件中启用“保存 阅读详情

相关推荐

Delphi中的按钮分组控件制作教程

htmltable {th, td {th {pre {简介:本文将介绍如何在Delphi编程环境中创建一个按钮分组控件,该控件将多个按钮组织成逻辑组,模仿类似选项卡的切换效果。通过实例演示,例如模仿QQ和Windows资源管理器的界面,学习如何实现左侧的分组按钮,点击后在右侧显示对应内容。还将探讨第三方库MXOutlookBarPro,它为Delphi开发者提供了一组预定义控件和功能,以便快速创建类似Outlook栏的界面。

weixin_32456485的博客 569

Delphi 富文本编辑开发源码

Delphi开发的富文本编辑器源码,RichEdit1控件的使用,可以定义字体样式,文字颜色改变,字体选择,导入编辑RTF,WORD 文件。

Delphi 7中创建并Web调用OCX控件的详细步骤

DELPHI 7作为一款经典的开发工具,它支持快速应用程序开发(RAD),尤其在开发Windows平台下的应用程序时,具有不可忽视的地位。本章将简要介绍DELPHI 7的特点、优势以及基本操作方法。OCX控件,即OLE(对象链接与嵌入)控件,是一种基于Microsoft COM(组件对象模型)技术的ActiveX组件。它用于在Windows平台上嵌入到应用程序中,以提供特定的功能或服务。

weixin_35671843的博客 1373

delphi获取控件句柄,并获取属性源码

Delphi获取鼠标指定的空间的句柄,并获取控件的类名和属性值。鼠标拖动点击的特效,非常实用,功能简单,自己开发勿喷。

如何控制其他程序窗体上的窗口控件:上

如何控制其他程序窗体上的窗口控件:上首先申明:我是菜鸟,我只不过想把困绕了我很长时间的问题的解决方案发表出来,免得以后我又忘记,同时给还不知道这些小知识的同僚一些帮助。各位不要笑我的浅薄。同时为了表示我的低级,我会很罗嗦的讲一些基本的东西,这些都是我的理解,很不准确。用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是回调函数。我的理解是这样的:回调函数写出来不是自己的程序去调用

w8u的专栏 2700

Delphi 遍历窗口控件

遍历窗口控件

yygyyygy1233的博客 1098

delphi点击外部程序按钮

unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;    

u012194505的专栏 2695

delphi sendmessage实现点击其他程…

sendmessage实现点击其他程序上的按钮<wbr><wbr></wbr></wbr> <wbr></wbr> <wbr></wbr> 下面的代码是用QQ登录来作实验的。 procedure TForm1.Button3Click(Sender: TObjec

qizhanfeng的专栏 772

delphi中为自定控件绘制windows按钮

 若要自定工具拦,但也要保留windows样式的按钮时下面给出一种实现procedure TmyButton.defaultdraw;var arect,R:Trect;    wpos,hpos:integer;    Details: TThemedElementDetails;begin  hpos:=0;  arect:=self.ClientRect;  canvas.Fon

我的专栏 1541

delphi 常用控件

按钮类组件 button 组件: CAPTION 属性 :用于在按钮上显示文本内容 Cancel 属性:是否设置成默认的取消按钮,当设置为真的时候(true) 按ESC触发改按钮的事件! Default 属性:是否设置成默认的确认按钮,当设置为真的时候 按ENTER键的时候触发事件 Hint 属性:设置当鼠标在按钮上短暂停留是显示的提示内容。 Showhint 属性: 是否显示提示内容默认为假! Bitbtn 组件 Kind 属性: GLYPH 属性

173713873 1833

ttreeview_如何将复选框和单选按钮添加到TTreeView

ttreeview TheTTreeViewDelphi component (located on the "Win32" component palette tab) represents a window that displays a hierarchical list of items, such as the headings in a document, the entries ...

cumao2792的博客 583

查找控件名称FindWindow

控件名称、类名称显示,可查看很多delphi控件名称。

delphi控件属性和事件

常用【属性】 Action:该属性是与组件关联的行为,允许应用程序集中响应用户命令 Anchors:与组件连接的窗体的位置点 Align:确定组件的对齐方式 AutoSize:确定组件是否自动调整其大小 BiDiMode:(所有组件) 为从右向左写的语言提供支持 BoundsRect:定义组件边框矩形(只适用于运行时) Borderwidth:(窗口化组件)边框的宽度 BorberStyle...

weixin_34117522的博客 1951

delphi 对网页自动操作

procedure TFrmmain.Act_BeginWrite; var   myitem:Olevariant;   i:integer;   tmp:string;   TemName:String;   TemIniFile:TIniFile; begin  Try   myitem := WebBrowser1.Document;   for i := 0

u011354184的专栏 1865

Delphi“遥控”按钮

很多情况下,我们需要在程序中实现这样的功能:在自编写的程序里控制另外一软件中的某个按钮被按下。比如,有一天你在聊QQ时觉得烦了,那么就想写程序来帮你按下“发送”按钮,省得你自己一次次动手了。那么,这个想法怎样才能实现呢?其实做法很简单,它只用两条Windows消息就能实现了。(当然,前提是你必须知道那个按钮的handle。我想这个对一般程序员来说简直是小菜一碟)这两条消息分别是:WM_LBUT

deldelmeme979的专栏 1011

后台调用外部程序的完美实现(Delphi

最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本矿设置一些文字,再点击一个按钮就可以了。 说到这里,相信你也有了对该功能的一些初步设想了,没错,其基本思路就是: 1)调用CreatePRocess()打开目标程序。 2)用FindWindow

wxj900726的专栏 712
上一篇: delphi 向其他程序发送模拟按键
下一篇: 在Delphi中如何控制其它应用程序窗口
acfftx928163
博客等级 码龄9年 25粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值