zoukankan      html  css  js  c++  java
  • 利用DELPHI实现完全桌面控制的实现

    http://forum.cnsec.org/thread-13147-1-1.html

    在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.=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;

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

    delphi对开始菜单的编程

    http://www.xuedelphi.cn/wenzhang/yytg/2008/12/200812272732.htm

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Rgn : hRgn;
    begin
    {隐藏开始菜单}
      Rgn := CreateRectRgn(0, 0, 0, 0);
      SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),Rgn, true);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    {显示开始菜单}
      SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),0,true);
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    {禁用开始菜单}
      EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0, 'Button', nil),false);
    end;

    procedure TForm1.Button4Click(Sender: TObject);
    begin
    {取消禁用菜单}
      EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil),true);
    end;



  • 相关阅读:
    Redis5排序
    Redis5 常用命令
    Redis5事务 和Watch
    PHP7 ini 配置大全
    PHP 开发者大会
    go and git 代理
    laravel 记录sql语句
    Vue,laravel , laravels 项目在nginx 配置文件
    python selenium right click on an href and choose Save link as... on Chrome.
    selenium借助AutoIt识别上传(下载)详解
  • 原文地址:https://www.cnblogs.com/chulia20002001/p/2023560.html
Copyright © 2011-2022 走看看