⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 delphi7.0编写
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,shellapi, Menus, CoolTrayIcon, ImgList,
  bsSkinData, BusinessSkinForm, bsSkinCtrls;

type
  TForm1 = class(TForm)
    Label4: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    RadioGroup1: TRadioGroup;
    CoolTrayIcon1: TCoolTrayIcon;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    ImageList1: TImageList;
    bsBusinessSkinForm1: TbsBusinessSkinForm;
    bsSkinData1: TbsSkinData;
    bsCompressedStoredSkin1: TbsCompressedStoredSkin;
    bsSkinButton1: TbsSkinButton;
    bsSkinButton2: TbsSkinButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure bsSkinButton1Click(Sender: TObject);
    procedure bsSkinButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
   config,systime:string;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure zhixin;
var
  hToken : THandle;
  Tkp : TTokenPrivileges;
  Zero:DWORD;
begin
  //提权
  OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or
    TOKEN_QUERY,hToken);
  LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid);
  Tkp.PrivilegeCount :=1;
  Tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  AdjustTokenPrivileges(hToken,False,Tkp,SizeOf(TTokenPrivileges),nil,Zero);
  //注销
  if form1.radiogroup1.ItemIndex=0 then
     ExitWindowsEx(EWX_LOGOFF,0)
     //messagebox(0,'注销!','正确',mb_ok)
  else //重起
      if  form1.radiogroup1.ItemIndex=1 then
          ExitWindowsEx(EWX_REBOOT,0)
          //messagebox(0,'重起!','正确',mb_ok)
      else//关机
          if form1.radiogroup1.ItemIndex=2 then
             ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0)
             //messagebox(0,'关机!','正确',mb_ok)
          else //休眠
              if form1.RadioGroup1.ItemIndex=3 then
              ShellExecute(0,'open','rundll32.exe','PowrProf.dll SetSuspendState',nil,sw_show);

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    label4.Caption:=DateTimeToStr(Now);//timetostr(TDateTime())+' '+timetostr(time());
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
   config:=combobox1.Text+':'+combobox2.Text+':'+combobox3.Text;
   systime:=timetostr(Time());
   if SameText(systime, config) then
      zhixin;
   //messagebox(0,'时间到了!','正确',mb_ok);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
   radiogroup1.ItemIndex:=4;
   timer2.Enabled:=false;
   CoolTrayIcon1.HideMainForm;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
   close;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
CoolTrayIcon1.ShowMainForm;
end;

procedure TForm1.N2Click(Sender: TObject);
begin

    Application.MessageBox('  为您带来方便而感到十分荣幸!' +
    #13#10 + ' 感谢使用,有您支持我将走的更远!' +
    #13#10+'报虫地址:webenus@126.com'+#13#10+
    '                      ' + #13#10 +
    '          testong' + #13#10 +
    '        2007-10-09', '关于', MB_OK +
    MB_ICONINFORMATION);
end;
procedure TForm1.bsSkinButton1Click(Sender: TObject);
begin
    timer2.Enabled:=true;
    Application.Minimize;
end;

procedure TForm1.bsSkinButton2Click(Sender: TObject);
begin
 close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -