利用delphi完全控制桌面的实现

在windows 中系统桌面和开始菜单可以说是它的一大特色,其实我们可以利用delphi轻易地在应用程序中实现这种技术 :

新建一个应用程序, 将form1窗体的borderstyle属性设置为bsnone,formstyle属性设置为 fsstayontop,windowstate属性设置为wsmaximized。

如有必要可在form1窗体中放置一个image控件image1,为它的picture属性装入一幅自己喜爱的图像并将它的align属性设置为alclient,stretch设置为true,使图像拉伸占满form1的客户区,作为系统背景。

然后,新建一个窗体form2,将它的borderstyle属性设置为bsnone,formstyle属性设置为fsstayontop。

在form2内放置一个speedbutton控件speedbutton1和一个popupmenu控件popupmenu1。

将speedbutton1的top属性设为0,left属性设为0,caption属性设为 “在这里”(也可随你) ,还可设置glyph属性为它加上一个图像。双击popupmenu1控件,根据自己需要设置各个菜单项。

接下来为form1的oncreate事件添加如下代码:

procedure tform1.formcreate(sender: tobject);
var
tep:integer;
begin
//用来屏蔽ctrl+alt+del、ctrl+tab

功能及屏幕保护程序的运行

tep:=0;
systemparametersinfo(spi_setfasttaskswitch,
1,@tep,0);
systemparametersinfo(spi_screensaverrunning,
1,@tep,0);
end;

为form1的onmousemove事件添加代码如下:

procedure tform1.formmousemove
(sender: tobject; shift: tshiftstate; x,y: integer);
begin
//当鼠标移动到form1的底部时显示form2(即开始菜单) ,否则隐藏form2
if y〉form1.height-30 then
begin
form2.left:=form1.left;
form2.top:=form1.height-30;
form2.width:=form1.width;
form2.height:=30;
form2.show;
end
else
form2.hide;
end;

如果你按上面步骤添加了image1控件,请在form1的image1的onmousemove事件编辑栏内选择formmousemove。

为form2中的speedbutton1的onclick事件添加如下代码:

procedure tform2.speedbutton1click
(sender: tobject);
begin
//当用户单击 speedbutton1按钮后弹出由popupmenu1构成的“开始”菜单项
popupmenu1.popup(form2.left,form2.top);
end;

最后为“退出考勤系统”菜单项的onclick事件添加如下代码:

procedure tform2.a6click(sender: tobject);
begin   //退出应用程序
application.terminate;
end;

现在,您就可以运行这个程序看看您的劳动成果了。

时间: 2024-08-01 16:00:58

利用delphi完全控制桌面的实现的相关文章

利用Delphi编程控制摄像头

你的电脑有没有摄像头?看到别人用QQ玩视屏你会不会去想怎么实现的?这里介绍使用DELPHI使用MS的AVICAP32.DLL就可轻松的实现对摄像头编程,如果再加上你的网络编程水平,实现一个视屏聊天就不成什么问题了. 看看下面代码的代码: const WM_CAP_START = WM_USER;const WM_CAP_STOP = WM_CAP_START + 68;const WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;const WM_CAP_DRI

在Delphi中控制扫描仪

在利用Delphi开发信息管理系统时,常常要处理图象,这也是信息管理系统发展的必然趋势.怎样在Delphi中通过扫描仪获得所需的图象信息呢?不外乎有三种基本的方法: 通过图象处理软件,比如说Photoshop等,通过它们的扫描图象的功能,加工成一定格式的图象后再在自己的系统中利用: 通过扫描仪接口Twain.DLL .该接口是在安装扫描仪时提供的,它实际上是一个Plugin插件,它通过一系列函数来控制扫描仪: 通过构件技术来控制扫描仪. 利用第一种方法能减少编程的复杂度,但是系统的集成度不高,用

利用js脚本控制电脑开关机以及各种应用软件

问题描述 利用js脚本控制电脑开关机以及各种应用软件 大神们,求解呀,谢谢啦.想做一个个人网站,就把网站当成自己的桌面,可以开关机,打开应用,喜欢的歌,壁纸,网站等等 解决方案 编写js代码,然后控制计算机,计算机控制开关机.设置壁纸等. 解决方案二: 不可能,不用弄了..除非你提供一个hta给用户下载,hta是客户端EXE,没有权限问题,通过浏览器做不了

利用Delphi实现支持窗体的自定义函数

在利用Delphi发开应用时,我们可以引用大量的控件,象VCL,OCX,也可以引用开发环境中提供的大量函数,如ShowMessage,Application.MessageBox等,正是这些资源极大的提高了应用的开发效率,但是,在具体的开发过程中,会产生这样一种需求, 即如何将参数传递给窗体,最终用户操作窗体后返回具体值,应用程序再要根据此返回值作进一步的处理,就象Application.MessageBox一样工作.对此,笔者经过实践,终于通过自定义函数的形式找到了实现方法.下面让我们以实现类

利用Delphi开发网络数据库应用

Delphi 是具可视化界面的面向对象编程语言,它以其功能强大.简便易用等诸多特性,深受编程人员的欢迎.Delphi 中提供了数据库引擎 BDE(Borland Database Engine),并内含众多的数据库调用构件,为编程人员开发客户/服务器应用程序提供了方便.通常情况下,利用 Delphi 开发数据库应用程序,可以使用TTable.TDataSource.TDBEdit.TDBNavigator等构件.只要正确设置了构件的某些属性,再编写必要的程序代码对一些特定事件进行处理,就能够完成

利用delphi录入数据时代码错误问题

问题描述 利用delphi录入数据时代码错误问题 procedure TFrm_stu_ins.Button1Click(Sender: TObject); begin //写入数据 if (Trim(edt_name.Text)<>'') and (Trim(edt_numb.Text)<>'' ) and (Trim(edt_id.Text)<>'') then begin dm.q_stu_ins_ins.close; dm.q_stu_ins_ins.SQL.C

Araos利用Oculus Rift控制无人机

摘要: 前不久,Facebook以20亿美金收购虚拟现实游戏设备公司Oculus VR,旨在为下一代社交网络做好准备.Facebook CEO Zuckerberg认为,虚拟现实技术是代表未来的平台,它可能会改变未来我们工作. 前不久,Facebook以20亿美金收购虚拟现实游戏设备公司Oculus VR,旨在"为下一代社交网络做好准备".Facebook CEO Zuckerberg认为,虚拟现实技术是代表未来的平台,它可能会改变未来我们工作.娱乐和交流的方式. 未来仍未来,但这不妨

安全研究人员发现可以利用推特控制僵尸网络

英国安全研究人员Paul Amar打造出一款工具,能够利用推特(Twitter)私信(DMs)操控僵尸网络. 这款工具名为Twittor.该工具仅仅是一套简单的Python脚本,其能够利用Twitter API以及相关服务选项引导受害者向其他用户发出消息.这款工具可以使得僵尸网络运营者对自己的基础设施加以管理,且不必将行为暴露在其Twitter页面当中. 软件工作原理 Twittor允许黑客们创建Twitter账户,设置Twitter应用并获取API证书,并将这一切纳入到一套恶意Python脚本

利用Delphi实现系统状态栏图标

利用Delphi实现系统状态栏图标   下面以一个具体的例子,详细介绍一下利用Delphi实现系统状态栏图标的步骤和方法. 1.创建一个应用程序,在主窗体上增加一个TpopupMenu组件.并为该弹出选单组件增加选单项Exit,标题为"退出". 2.在Uses中添加ShellAPI,因为在系统状态栏中增加图标时需调用ShellAPI中的函数 Shell_NotifyIconA.该函数需要两个参数,其中一个是TnotifyIconDataA结构,需在主窗体中增加TnotifyIconDa