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

📄 sysmain.pas

📁 《Delphi开发人员指南》配书原码
💻 PAS
字号:
unit SysMain;

interface

uses
  SysUtils, Windows, Classes, Controls, Forms, Dialogs, Menus,
  ExtCtrls, TlHelp32, StdCtrls, Buttons, ComCtrls, ImgList, InfoInt;

type
  TMainForm = class(TForm)
    FontDialog: TFontDialog;
    mmMainMenu: TMainMenu;
    Options1: TMenuItem;
    N2: TMenuItem;
    ExitItem: TMenuItem;
    PropertiesItem: TMenuItem;
    Help1: TMenuItem;
    AboutItem: TMenuItem;
    InfoItem: TMenuItem;
    System2: TMenuItem;
    Memory1: TMenuItem;
    Environment1: TMenuItem;
    Panel1: TPanel;
    btnClose: TButton;
    lvProcList: TListView;
    ilProcIcons: TImageList;
    View1: TMenuItem;
    N1: TMenuItem;
    FontItem: TMenuItem;
    RefreshItem: TMenuItem;
    procedure ExitItemClick(Sender: TObject);
    procedure FontItemClick(Sender: TObject);
    procedure RefreshItemClick(Sender: TObject);
    procedure Memory1Click(Sender: TObject);
    procedure System2Click(Sender: TObject);
    procedure Environment1Click(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure AboutItemClick(Sender: TObject);
    procedure lvProcListDblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FWinInfo: IWin32Info;
  end;

var
  MainForm: TMainForm;

implementation

{$R *.DFM}

uses W9xInfo, WNTInfo, InfoU, AboutU;

procedure TMainForm.ExitItemClick(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.FontItemClick(Sender: TObject);
begin
  if FontDialog.Execute then Font := FontDialog.Font;
end;

procedure TMainForm.RefreshItemClick(Sender: TObject);
begin
  Screen.Cursor := crHourGlass;
  lvProcList.Items.BeginUpdate;
  try
    FWinInfo.FillProcessInfoList(lvProcList, ilProcIcons);
  finally
    Screen.Cursor := crDefault;
    lvProcList.Items.EndUpdate;
  end;
end;

procedure TMainForm.Memory1Click(Sender: TObject);
begin
  ShowInformation(ivMemory);
end;

procedure TMainForm.System2Click(Sender: TObject);
begin
  ShowInformation(ivSystem);
end;

procedure TMainForm.Environment1Click(Sender: TObject);
begin
  ShowInformation(ivEnvironment);
end;

procedure TMainForm.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.AboutItemClick(Sender: TObject);
begin
  ShowAboutBox;
end;

procedure TMainForm.lvProcListDblClick(Sender: TObject);
var
  LI: TListItem;
begin
  LI := lvProcList.ItemFocused;
  if LI <> nil then
    FWinInfo.ShowProcessProperties(LI.Data);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
    FWinInfo := TWin9xInfo.Create
  else if Win32Platform = VER_PLATFORM_WIN32_NT then
    FWinInfo := TWinNTInfo.Create
  else
    raise Exception.Create('This application must be run on Win32');
  RefreshItemClick(nil);
end;

end.

⌨️ 快捷键说明

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