📄 unit1.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 + -