?? main.~pas
字號:
unit Main;
interface
uses
SvcMgr, Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Menus, ShellAPI,ExtCtrls, StdCtrls, ucommon, Dialogs, ComCtrls,
RzTray, JvComponentBase, JvThread, ImgList, jpeg,untWaterEffect,
TFlatTitlebarUnit, TFlatSpeedButtonUnit, TFlatGroupBoxUnit, Buttons,
MSI_GUI, MSI_SMBIOS,MiTeC_CtrlRtns,MiTeC_USB,
MSI_Devices,MiTeC_WinIOCTL,MSI_Common,excel2000,ComObj, TFlatMemoUnit ;
const
WM_TrayIcon = WM_USER + 1;
UI_INITIALIZE = WM_TrayIcon + 1;
const
iiComputer = 0;
iiSystem = 1;
iiDisplay = 2;
iiMonitor = 3;
iiVolumes = 4;
iiFDD = 5;
iiHDD = 6;
iiCDROM = 7;
iiTape = 8;
iiAPM = 9;
iiImaging = 10;
iiKeyboard = 11;
iiMouse = 12;
iiModem = 13;
iiPort = 14;
iiAdapter = 15;
iiPackage = 16;
iiSCSI = 17;
iiDriver = 18;
iiSound = 19;
iiUSB = 20;
iiGame = 21;
iiNet = 22;
iiProcess = 23;
iiPCMCIA = 24;
iiChanger = 25;
iiHID = 26;
iiGPS = 27;
iiReader = 28;
iiInfrared = 29;
iiMIDI = 30;
iiWave = 31;
iiMixer = 32;
iiAUX = 33;
iiDirectX = 34;
iiPrinter = 35;
iiPrinterDef = 36;
iiNetPrinter = 37;
iiNetPrinterDef = 38;
iiController = 39;
iiMemory = 40;
iiCPU = 41;
type
TForm1 = class(TForm)
FlatGroupBox1: TFlatGroupBox;
FlatSpeedButton10: TFlatSpeedButton;
FlatSpeedButton_Exit: TFlatSpeedButton;
FlatSpeedButton2: TFlatSpeedButton;
FlatSpeedButton5: TFlatSpeedButton;
FlatSpeedButton6: TFlatSpeedButton;
FlatSpeedButton7: TFlatSpeedButton;
FlatSpeedButton8: TFlatSpeedButton;
FlatSpeedButton9: TFlatSpeedButton;
FlatSpeedButton11: TFlatSpeedButton;
FlatSpeedButton1: TFlatSpeedButton;
FlatSpeedButton19: TFlatSpeedButton;
FlatTitlebar2: TFlatTitlebar;
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
FlatTitlebar1: TFlatTitlebar;
TreeViewSysInfo: TTreeView;
ImageListSmallIco: TImageList;
MainboardTree: TTreeView;
img: TImageList;
TabSheet3: TTabSheet;
List: TListView;
TabSheet4: TTabSheet;
MenLv: TListView;
TabSheet5: TTabSheet;
DisplayLV: TListView;
TabSheet6: TTabSheet;
MediaLV: TTreeView;
TabSheet7: TTabSheet;
USBTree: TTreeView;
ilUSB: TImageList;
TabSheet8: TTabSheet;
lvSW: TListView;
TabSheet9: TTabSheet;
DiskLv: TListView;
GetMainBoardInfoThd: TJvThread;
DisplayCPUDetailThd: TJvThread;
DisplayVideoDetailThd: TJvThread;
GetMediaDetailThd: TJvThread;
GetUSBinfoThd: TJvThread;
GetSFinfoThd: TJvThread;
DisplayHDDDetailThd: TJvThread;
DisplayMemoryDetailThd: TJvThread;
TabSheet10: TTabSheet;
Image8: TImage;
Image7: TImage;
Image2: TImage;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
miClose: TMenuItem;
UpdateTimer: TTimer;
MSystemInfo1: TMSystemInfo;
NetWorkLv: TListView;
NetWorkThd: TJvThread;
Label1: TLabel;
TabSheet11: TTabSheet;
img1: TImage;
Timer1: TTimer;
FlatMemo1: TFlatMemo;
Label2: TLabel;
procedure FlatSpeedButton2Click(Sender: TObject);
procedure FlatSpeedButton10Click(Sender: TObject);
procedure FlatSpeedButton5Click(Sender: TObject);
procedure ListAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
procedure ListAdvancedCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
procedure FlatSpeedButton7Click(Sender: TObject);
procedure DisplayLVAdvancedCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
procedure DisplayLVAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
procedure FlatSpeedButton8Click(Sender: TObject);
procedure FlatSpeedButton9Click(Sender: TObject);
procedure FlatSpeedButton11Click(Sender: TObject);
procedure FlatSpeedButton19Click(Sender: TObject);
procedure FlatSpeedButton6Click(Sender: TObject);
procedure GetMainBoardInfoThdExecute(Sender: TObject; Params: Pointer);
procedure DisplayCPUDetailThdExecute(Sender: TObject; Params: Pointer);
procedure DisplayVideoDetailThdExecute(Sender: TObject;
Params: Pointer);
procedure GetMediaDetailThdExecute(Sender: TObject; Params: Pointer);
procedure GetUSBinfoThdExecute(Sender: TObject; Params: Pointer);
procedure GetSFinfoThdExecute(Sender: TObject; Params: Pointer);
procedure DisplayHDDDetailThdExecute(Sender: TObject; Params: Pointer);
procedure DisplayMemoryDetailThdExecute(Sender: TObject;
Params: Pointer);
procedure FormCreate(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure Image7Click(Sender: TObject);
procedure UpdateTimerTimer(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure miCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FlatSpeedButton1Click(Sender: TObject);
procedure NetWorkThdExecute(Sender: TObject; Params: Pointer);
procedure FlatSpeedButton_ExitClick(Sender: TObject);
procedure img1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
nmg_IconData : TNotifyIconData;
nmg_BlnFromService : Boolean;
nmg_BlnNt : Boolean;
nmg_TaskMessage : DWord;
nmg_blnProgmanOpen : Boolean;
Water: TWaterEffect;
Bmp: TBitmap;
public
function FindUSBNode(AIndex: Integer): TTreeNode;
//procedure ExcelBT;
protected
procedure UIInitialize(var Message: TMessage); message UI_INITIALIZE;
procedure WMMIDASIcon(var Message: TMessage) ; message WM_TrayIcon;
procedure WndProc(var Message: TMessage); override;
procedure AddTrayIcon;
procedure MainFormMinimize(Sender : TObject);
procedure MainFormRestore(Sender : TObject);
public
{ Public declarations }
MSIC: TMSystemInfo;
procedure GetMainBoardInfo;
procedure DisplayCPUDetail;
procedure DisplayVideoDetail;
procedure GetMediaDetail;
procedure GetUSBinfo;
procedure GetSFinfo;
procedure DisplayHDDDetail;
procedure DisplayMemoryDetail;
procedure GetNetWorkInfo;
procedure Initialize(FromService: Boolean);
end;
TDemoService = class(TService)
protected
procedure Start(Sender: TService; var Started: Boolean);
procedure Stop(Sender: TService; var Stopped: Boolean);
public
function GetServiceController: TServiceController; override;
constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); override;
end;
var
Form1: TForm1;
DemoService: TDemoService;
xlapp:variant;
sheet:variant;
x:integer;
resourcestring
{$I MSI_StringTable.Inc}
implementation
uses sys, CpUsage, Report;
{$R *.dfm}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
DemoService.Controller(CtrlCode);
end;
function TDemoService.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
constructor TDemoService.CreateNew(AOwner: TComponent; Dummy: Integer);
begin
inherited CreateNew(AOwner, Dummy);
AllowPause := False;
Interactive := True;
DisplayName := SServiceName;
Name := SServiceName;
OnStart := Start;
OnStop := Stop;
end;
procedure TDemoService.Start(Sender: TService; var Started: Boolean);
begin
PostMessage(Form1.Handle, UI_INITIALIZE, 1, 0); Started := True;
end;
procedure TDemoService.Stop(Sender: TService; var Stopped: Boolean);
begin
PostMessage(Form1.Handle, WM_QUIT, 0, 0); Stopped := True;
end;
procedure TForm1.UIInitialize(var Message: TMessage);
begin
Initialize(Message.WParam <> 0);
end;
procedure TForm1.WndProc(var Message: TMessage);
begin
if Message.Msg = nmg_TaskMessage then
begin
AddTrayIcon;Refresh;
end;
inherited WndProc(Message);
end;
procedure TForm1.Initialize(FromService: Boolean);
function IE4Installed: Boolean;
Const
KEY_IE = 'SOFTWARE\Microsoft\Internet Explorer';
var
RegKey: HKEY;
begin
Result := False;
if RegOpenKey(HKEY_LOCAL_MACHINE, KEY_IE, RegKey) = ERROR_SUCCESS then
try
Result := RegQueryValueEx(RegKey, 'Version', nil, nil, nil, nil) = ERROR_SUCCESS;
finally
RegCloseKey(RegKey);
end;
end;
begin
nmg_BlnFromService := FromService;
nmg_BlnNt := (Win32MajorVersion <= 3) and (Win32Platform = VER_PLATFORM_WIN32_NT);
if nmg_BlnNt then
begin
BorderIcons := BorderIcons + [biMinimize]; BorderStyle := bsSingle;
end;
if FromService then
begin
miClose.Visible := False;
end;
AddTrayIcon;
if IE4Installed then nmg_TaskMessage := RegisterWindowMessage('TaskbarCreated') else
UpdateTimer.Enabled := True;
end;
procedure TForm1.AddTrayIcon;
begin
if not nmg_BlnNt then
begin
with nmg_IconData do
begin
cbSize := SizeOf(nmg_IconData);
Wnd := Self.Handle;
uID := $DEDB;
uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
hIcon := Forms.Application.Icon.Handle;
uCallbackMessage := WM_TrayIcon;
StrCopy(szTip, PChar(ServiceTips));
end;
Shell_NotifyIcon(NIM_Add, @nmg_IconData);
end;
end;
procedure TForm1.WMMIDASIcon(var Message: TMessage);
var
pt: TPoint;
begin
case Message.LParam of
WM_RBUTTONUP:
begin
SetForegroundWindow(Handle); GetCursorPos(pt);PopupMenu1.Popup(pt.x, pt.y);
end;
WM_LBUTTONDBLCLK:
begin
SetForegroundWindow(Handle);Show;
end;
end;
end;
procedure TForm1.MainFormMinimize(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_HIDE);Hide;
end;
procedure TForm1.MainFormRestore(Sender: TObject);
begin
Form1.Show;SetForegroundWindow(Handle);
end;
procedure TForm1.GetNetWorkInfo;
var
i,j:Integer;
begin
with NetWorkLv,Items,MSIC.Network do
begin
{ with Add do
begin
Caption:='Network adapters';ImageIndex:=-3;SubItems.Add('');
end;
with Add do
begin
Caption:='';ImageIndex:=-2;SubItems.Add('');
end;
for i:=0 to PhysicalAdapters.count-1 do
with add do begin
caption:=PhysicalAdapters[i];imageindex:=-1;SubItems.Add('');
end;
for i:=0 to VirtualAdapters.count-1 do
with add do begin
caption:=VirtualAdapters[i];imageindex:=-1;
end;
with Add do begin
Caption:='DNS';ImageIndex:=-3;SubItems.Add('');
end;
with Add do
begin
Caption:='';ImageIndex:=-2;SubItems.Add('');
end;
for i:=0 to MSIC.Network.TCPIP.DNSServers.Count-1 do begin
with add do
begin
Caption:=MSIC.Network.TCPIP.DNSServers[i];ImageIndex:=-1;SubItems.Add('');
end;
end; }
for i:=0 to MSIC.Network.TCPIP.AdapterCount-1 do
begin
with add do
begin
Caption:=MSIC.Network.TCPIP.Adapter[i].Name;ImageIndex:=-3;SubItems.Add('');
end;
with Add do
begin
Caption:='';ImageIndex:=-2;SubItems.Add('');
end;
with MSIC.Network.TCPIP.Adapter[i] do
begin
for j:=0 to IPAddress.Count-1 do
begin
with Add do begin
Caption:='Local'; SubItems.Add(IPAddress[j]);
end;
with Add do
begin
Caption:='MAC' ;SubItems.Add(MSIC.Network.TCPIP.Adapter[i].Address);
end;
with Add do begin
Caption:='Mask'; SubItems.Add(IPAddressMask[j]);
end;
end;
for j:=0 to Gateway_IPAddress.Count-1 do
with Add do begin
Caption:='Gateway';
SubItems.Add(Gateway_IPAddress[j]);
end;
for j:=0 to DHCP_IPAddress.Count-1 do
with Add do begin
Caption:='DHCP Server';SubItems.Add(DHCP_IPAddress[j]);
end;
for j:=0 to PrimaryWINS_IPAddress.Count-1 do
with Add do begin
Caption:='Primary WINS Server'; SubItems.Add(PrimaryWINS_IPAddress[j]);
end;
for j:=0 to SecondaryWINS_IPAddress.Count-1 do
with Add do begin
Caption:='Secondary WINS Server';
SubItems.Add(SecondaryWINS_IPAddress[j]);
end;
end;
end;
end;
end;
procedure Tform1.DisplayMemoryDetail;
var
I:Integer;
begin
with MenLv,Items do
begin
Clear;
with Add do
begin
Caption:='ず
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -