Delphi对于其它软件的控制

背景介绍 在本文开始之前,有个颠覆性的小知识传递,我想Java开发相关的还从来不知道我们可以通过程序去控制一个exe软件吧,比如我们可以写一个小工具实现一键登录邮箱(桌面客户端邮箱)、一键登录远程桌面等等行为,只因为Java做不到所以导致认知里并没有想过这些事情。 控制鼠标实现1+2运算 本文主要实现对系统自带的计算器软件和远程桌面连接软件进行控制,对于计算器软件我简单(也就会这么点点)实现了一键出发 1 + 2 = 3 的计算控制,比如当我点击【鼠标1+2运算】按钮时实现程序控制鼠标点击【按钮1】、【按钮+】、【按钮2】、【按钮=】来实现,主要是软件去控制鼠标点击的位置,根据那一堆按钮所在的面板左上角0,0的坐标位置找寻的坐标并执行的鼠标点击,参考效果图如下: 获取句柄实现1+2运算 使用句柄(何谓句柄不知道我有没有解释过,可自行百科)来实现的 1 + 2 = 3 程序显得要比上面的鼠标...

文章分类:技能平台 Delphi桌面开发

Delphi

Delphi实现系统托盘管理

基本介绍 几乎所有的CS端程序都有在系统托盘显示图标的功能,如:最小化显示托盘,右键进行对软件的其他*作等,我们使用Delphi写的一些“渣渣”程序经常使用且能最小化至系统托盘当然是最好的了,在综合了好多资料后,实现了本例,才有了本文。本例实现的功能点主要有: (1)打开窗口软件时使其在系统托盘显示图标; (2)点击软件最小化按钮,将其隐藏; (3)右键系统托盘软件可显示相关菜单按钮,点击不同菜单的功能实现; 参考代码 unit NotifyTray; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls , TLHelp32, Menus , ShellApi , StrUtils; type TForm1 = class(TF...

文章分类:技能平台 Delphi桌面开发

Delphi

Delphi实现简单处理数据库

基本介绍 Delphi在CAO作数据库方面,当时找了一些资料有看到使用ADO和ODAC,进一步分析了发现网上使用ADO的示例较多,但它要在使用者的机器上安装oracle客户端,就为这我果断放弃它;而ODAC插件则不需要oracle客户端,但是它是需要安装在Delphi平台基础上的插件,并且网上关于它的示例不是一般的少,基本上找一大堆找不到一个靠谱的资源,当然不排除我看不懂的情况。反正现状就是在一堆其它语言示例的基础上和自己琢磨出来的,现在想想觉得还真是费劲。但是有个重要的事情要提醒,ODAC组件是只能够连接oracle数据库,无法对其他种类数据库进行*作的,如果你将要使用其他数据库,本篇文章显得不太合适了。 一般对于数据库方面的*作,不说好的实现吧,起码要遇到的问题有: (1)sql执行中文乱码; (2)动态参数执行,防止sql拼接引起的注入; (3)事物控制; (4)sql的查询返回列表...

文章分类:技能平台 Delphi桌面开发

Delphi

Delphi实现简单多线程

基本介绍 对于我这种Delphi渣渣选手来说,整这么一个破玩意儿真不好搞,网上找半天示例还找不到一个纯净版的实现,找到好多示例实现起来的也各不一样,于是乎就有了这篇文章~~如果写过java的swing程序就很清楚,一个主线程为主程序,所有的*作在其基础上完成的,如果其中有一个*作需要等待延迟执行或者查询数据库耗时较长,我们的程序会出现(看似)卡死的情况,你不能再对其进行控制,直到它的当前*作已经被完成。就跟ajax的请求一样,把ajax的请求设置为同步时,浏览器一样会呈现卡住的情况,直到请求响应后才可以再操作其他,类似这种我们将ajax设置为异步即可。同样的CS端程序需要重新启动一个线程专门去干这件事情。 本示例主要有两个小点: (1)点击普通按钮将进行10次循环,每次循环将休眠1秒,我们发现在程序执行的过程中,我们无法拖动窗口,无法将其关闭,无法选中文本域中的文本等等,必须要等到程序的1...

文章分类:技能平台 Delphi桌面开发

Delphi

Delphi实现读写文本文件

基本介绍 本示例主要为Delphi实现的读、写文本文件和读取ini文件,实现较为简单,给出源码和运行效果图,当初不曾知道我有一天也会用到Pascal语言,前台显示的语法着色也没有加上这的支持,分别给出截图和文本版,代码实现分别为: (1)、点击【写文件】按钮,程序将在相应目录下创建txt文件,并向其中写入内容,路径为:d:\test\test.txt,多次点击将写入多次内容,每次写入内容会追加一个新行; (2)、点击【读文件】按钮,程序同样将读取该文件,将读取到的文件以弹出框的形式展示其内容; (3)、点击【读取ini文件】按钮,程序将读取c:\Windows\win.ini文件中的MAIL类型中的一个参数; 参考代码 参考代码 unit FileWindowTest; interface uses Windows, Messages, SysUtils, Variants, Classe...

文章分类:技能平台 Delphi桌面开发

Delphi

Delphi小知识点整理

基本 '字符串以单引号囊括,逻辑等号判断用=,不等用<> ,逻辑并用and,逻辑或用or,赋值用:= 代码注释 //单行注释 {}区域注释 类型转换 inttostr(xxx); strtoint(xxx); booltoint(xxx); 等等... 弹出框(alert) showmessage('xxx'); Application.MessageBox(PChar('内容' ) , '标题' , MB_OK); 延迟响应(单位毫秒) Sleep(1000); 鼠标坐标 SetCursorPos(100 , 100);//设置鼠标坐标 --------------------------------- R: TRect; GetWindowRect(元素 , R);//获取某个元素的坐标 格式化当前时间 FormatDateTime('yyyymmddhhnn' , now); 鼠标左...

文章分类:技能平台 Delphi桌面开发

Delphi

Delphi开发环境一览

后来才知道Delphi有好多版本,当初用的是Delphi7,那就说说它吧。记得总共下载了两份安装文件,其中一份600M多的iso文件,后来又下载了一份儿188M的,也可以下载它的汉化包,如果有需要。 解压安装文件,点击安装下一步下一步完事儿,然后输入注册码,安装完后注册重启机器,过程比较简单就不说了。由于后期我需要与数据库打交道,当时连接的是oracle数据库,后来综合分析后使用了odac插件,顺便也给安装了,找过许多资料也就发现这篇文章图文的适合新手,地址为:http://tener.blog.51cto.com/1065457/648595,安装完毕后的软件打开截图参考如下: 东西比较简单,本次也就在Form窗体中添加一个按钮,点击弹出一个Hello world完事儿,如图: 注 上述许多内容已经过时和过期了,留存本篇文章仅为方便个人查看,原始文章的信息参考: 原始链接:https:/...

文章分类:技能平台 Delphi桌面开发

Delphi

带你Delphi入门—总览篇

有个需求是去本地安装的第三方的软件(CS程序)中抓取一些数据,比如待抓取的数据分别为某些标准表单类元素的值和一些列表数据,然而对于这种逻辑的需求,我表示真心的无法实现,同样我也认为这对于很多的Java开发者来讲,也真的是无法实现的。 对于这种自动*作CS软件的需求,也曾经用按键精灵录制过一些脚本,但是对于需要传递一些动态数据的时候,我表示没招了,又尝试着搜了一下按键精灵读取excel或者txt文本,再讲读取到的文本值传递到某个坐标、某个组件上,然而试着看了一下它的脚本也没找到什么感觉,反正一个字麻烦,太麻烦,不会,真不会。 期间同事曾给我演示了一个Delphi开发的程序示例,主要是可以用一个exe程序去控制另外一个不相关的exe程序,看到这顿时感觉太高大上了,竟然还能这样,以前从来不知道,甚至在此以前我认为一个exe程序就是一个很“神秘”的东西,我们无看到它里面到底是什么。后来才了解到所谓...

文章分类:技能平台 Delphi桌面开发

Delphi
本站信息

 运营时间: 天

 用户数量: 人

 文章数量: 篇

 评论数量: 条

 点赞个数: 个

 最后更新:

标签云