unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, shellapi;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
WM_ICONTRAY = WM_USER + 1;
var
Form1: TForm1;
NotifyIconData : TNotifyIconData;
implementation
{$R *.dfm}
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Shell_NotifyIcon(NIM_DELETE,@NotifyIconData);
Application.ProcessMessages;
Application.Terminate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with NotifyIconData do
begin
hIcon := Icon.Handle;
StrPCopy(szTip, Application.Title);
Wnd := handle;
uCallbackMessage := WM_ICONTRAY;
uID :=1;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
cbSize := sizeof(TNotifyIconData);
end;
Shell_NotifyIcon(NIM_ADD,@NotifyIconData);
SetWindowLong(Application.Handle, GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end;
end.
Men-shutdown komputer
klik-kanan.com
Untuk melakukan restart, shutdown atau log off komputer, gunakan fungsi ExitWindowsEx. Ada pun deklarasi dari fungsi ExitWindowsEx adalah sebagai berikut :
function ExitWindowsEx (uFlags : word ; dwReserved : DWORD): BOOL;
Parameter pertama menerangkan “apa yang harus dilakukan” oleh komputer.
Parameter ini dapat bernilai :
Konstanta Keterangan:
EWX_RESTART Melakukan restart dengan menampilkan peringatan.
EWX_SHUTDOWN Melakukan shutdown dengan menampilkan peringatan.
EWX_LOGOFF Melakukan log off dengan menampilkan peringatan.
EWX_FORCE Melakukan shutdown tanpa menampilkan peringatan.
Sehingga ada kemungkinan Anda akan kehilangan data yang belum disimpan
(belum di-save).
Sedangkan parameter kedua bernilai 0.
Sehingga bila ingin melakukan shutdown cukup tulis kode berikut ini :
ExitWindowsEx (EWX_SHUTDOWN, 0);