亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? svcdetails.pas

?? 一個很不錯的系統信息控件
?? PAS
字號:
unit SvcDetails;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, MSI_Processes, ImgList;

type
  Tdlg_SvcDetails = class(TForm)
    Bevel1: TBevel;
    bClose: TButton;
    pc: TPageControl;
    imgIcon: TImage;
    TabSheet1: TTabSheet;
    TabSheet3: TTabSheet;
    GenList: TListView;
    eName: TEdit;
    Dep1Tree: TTreeView;
    Label1: TLabel;
    l: TLabel;
    Label2: TLabel;
    Dep2Tree: TTreeView;
    ImageList1: TImageList;
    procedure GenListAdvancedCustomDrawSubItem(Sender: TCustomListView;
      Item: TListItem; SubItem: Integer; State: TCustomDrawState;
      Stage: TCustomDrawStage; var DefaultDraw: Boolean);
    procedure GenListAdvancedCustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
      var DefaultDraw: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure Dep1TreeExpanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    procedure FormDestroy(Sender: TObject);
    procedure Dep2TreeExpanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
  private
    FPL: TMiTeC_ProcessList;
    FSI: TServiceInfo;
    FIndex: DWORD;
    sl: TStringList;
  public
    procedure RefreshData;
  end;

procedure ShowSvcDetails(APL: TMiTeC_ProcessList; AIndex: DWORD);

var
  dlg_SvcDetails: Tdlg_SvcDetails;

implementation

uses MiTeC_CtrlRtns, MiTeC_AdvAPI, MiTeC_Routines;

{$R *.dfm}

procedure ShowSvcDetails;
begin
  with Tdlg_SvcDetails.Create(Application.Mainform) do
    try
      FPL:=APL;
      FIndex:=AIndex;
      FSI:=FPL.Services[FIndex];

      RefreshData;

      ShowModal;

    finally
      Free;
    end;
end;

procedure Tdlg_SvcDetails.GenListAdvancedCustomDrawSubItem(
  Sender: TCustomListView; Item: TListItem; SubItem: Integer;
  State: TCustomDrawState; Stage: TCustomDrawStage;
  var DefaultDraw: Boolean);
begin
  with TListView(Sender) do begin
    Canvas.Font.Style:=[];
    if Item.ImageIndex=-3 then
      Canvas.Font.Style:=[fsBold];
    Canvas.Font.Color:=clBlack;
    if Item.ImageIndex=-4 then
      ListView_DrawCheckBox(Sender,Item,SubItem,State,DefaultDraw,'1')
    else
      Canvas.Brush.Color:=Color;
    if cdsHot in State then
      Canvas.Font.Style:=Canvas.Font.Style+[fsUnderline]
    else
      Canvas.Font.Style:=Canvas.Font.Style-[fsUnderline];
  end;
end;

procedure Tdlg_SvcDetails.GenListAdvancedCustomDrawItem(
  Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
  Stage: TCustomDrawStage; var DefaultDraw: Boolean);
begin
  DefaultDraw:=True;
  with TListView(Sender) do begin
    Canvas.Font.Style:=[];
    if Item.ImageIndex=-3 then
      Canvas.Font.Style:=[fsBold];
    Canvas.Font.Color:=clBlack;
    if cdsHot in State then
      Canvas.Font.Style:=Canvas.Font.Style+[fsUnderline]
    else
      Canvas.Font.Style:=Canvas.Font.Style-[fsUnderline];
    if Item.ImageIndex=-2 then
      ListView_DrawLine(Sender,Item,State,DefaultDraw,clGray);
  end;
end;

procedure Tdlg_SvcDetails.RefreshData;
var
  i: Integer;
  n: TTreeNode;
  s: string;
  VersionInfo: TVersionInfo;
begin
  eName.Text:=FSI.DisplayName;

  GenList.Items.Clear;
  if FileExists(FSI.ImageName) then
    imgIcon.Picture.Icon.Handle:=GetFileIcon(FSI.ImageName);

  GetFileVerInfo(FSI.ImageName,VersionInfo);

  GenList.Items.Clear;
  with GenList.Items.Add do begin
    Caption:='Description';
    SubItems.Add(VersionInfo.Description);
    ImageIndex:=-3;
  end;
  with GenList.Items.Add do begin
    Caption:='Version';
    SubItems.Add(VersionInfo.Version);
  end;
  with GenList.Items.Add do begin
    Caption:='Product Name';
    SubItems.Add(VersionInfo.ProductName);
  end;
  with GenList.Items.Add do begin
    Caption:='Company Name';
    SubItems.Add(VersionInfo.CompanyName);
  end;
  with GenList.Items.Add do begin
    Caption:='';
    ImageIndex:=-2;
  end;

  with GenList.Items.Add do begin
    Caption:='Service Name';
    SubItems.Add(FSI.Name);
    ImageIndex:=-3;
  end;
  with GenList.Items.Add do begin
    Caption:='Image Name';
    SubItems.Add(FSI.ImageName);
  end;
  with GenList.Items.Add do begin
    Caption:='Log On As ';
    SubItems.Add(FSI.ObjectName);
  end;
  with GenList.Items.Add do begin
    Caption:='Load Order Group';
    SubItems.Add(FSI.Group);
  end;
  with GenList.Items.Add do begin
    Caption:='Type';
    SubItems.Add(cSvcType[FSI.Typ]);
  end;
  with GenList.Items.Add do begin
    Caption:='';
    ImageIndex:=-2;
  end;
  with GenList.Items.Add do begin
    Caption:='Status';
    SubItems.Add(cSvcStatus[FSI.Status]);
    ImageIndex:=-3;
  end;
  with GenList.Items.Add do begin
    Caption:='Startup Mode';
    SubItems.Add(cSvcStartup[FSI.Startup]);
  end;
  with GenList.Items.Add do begin
    Caption:='Error Control';
    SubItems.Add(cSvcErrorControl[FSI.ErrCtrl]);
  end;

  Dep1Tree.Items.Clear;
  sl.CommaText:=FSI.DependOnService;
  for i:=0 to sl.Count-1 do begin
    s:=FPL.LookupServiceDisplayName(sl[i]);
    if s<>'' then begin
      n:=Dep1Tree.Items.AddChild(nil,s);
      n.ImageIndex:=0;
      n.HasChildren:=True;
    end;
  end;
  Dep1Tree.AlphaSort;

  Dep2Tree.Items.Clear;
  FPL.FindServiceDependants(FSI.Name,sl);
  for i:=0 to sl.Count-1 do begin
    n:=Dep2Tree.Items.AddChild(nil,FPL.LookupServiceDisplayName(sl[i]));
    n.ImageIndex:=0;
    n.HasChildren:=True;
  end;
  Dep2Tree.AlphaSort;
end;

procedure Tdlg_SvcDetails.FormCreate(Sender: TObject);
begin
  pc.ActivePage:=TabSheet1;
  sl:=TStringList.Create;
end;

procedure Tdlg_SvcDetails.Dep1TreeExpanding(Sender: TObject;
  Node: TTreeNode; var AllowExpansion: Boolean);
var
  idx,i: Integer;
  n: TTreeNode;
  s: string;
begin
  if Node.getFirstChild<>nil then
    Exit;
  idx:=FPL.FindService(Node.Text);
  if idx>-1 then begin
    sl.CommaText:=FPL.Services[idx].DependOnService;
    for i:=0 to sl.Count-1 do begin
      s:=FPL.LookupServiceDisplayName(sl[i]);
      if s<>'' then begin
        n:=TTreeView(Sender).Items.AddChild(Node,s);
        n.ImageIndex:=0;
        n.HasChildren:=True;
      end;
    end;
    Node.AlphaSort;
  end;
  Node.HasChildren:=(Node.getFirstChild<>nil);
end;

procedure Tdlg_SvcDetails.FormDestroy(Sender: TObject);
begin
  sl.Free;
end;

procedure Tdlg_SvcDetails.Dep2TreeExpanding(Sender: TObject;
  Node: TTreeNode; var AllowExpansion: Boolean);
var
  idx,i: Integer;
  n: TTreeNode;
begin
  if Node.getFirstChild<>nil then
    Exit;
  idx:=FPL.FindService(Node.Text);
  if idx>-1 then begin
    FPL.FindServiceDependants(FPL.Services[idx].Name,sl);
    for i:=0 to sl.Count-1 do begin
      n:=TTreeView(Sender).Items.AddChild(Node,FPL.LookupServiceDisplayName(sl[i]));
      n.ImageIndex:=0;
      n.HasChildren:=True;
    end;
    Node.AlphaSort;
  end;
  Node.HasChildren:=(Node.getFirstChild<>nil);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲综合色一区二区三区| 欧美国产成人在线| 国产亚洲精品久| 亚洲最大成人综合| 丁香网亚洲国际| 精品免费日韩av| 亚洲国产成人91porn| 国产成人精品免费视频网站| 国产欧美一区二区三区网站| 亚洲午夜电影在线观看| av网站一区二区三区| 久久久久国产精品免费免费搜索| 婷婷久久综合九色综合绿巨人| 成人精品国产福利| 久久精品一区二区| 国产乱淫av一区二区三区| 欧美情侣在线播放| 亚洲已满18点击进入久久| www.色综合.com| 日本一区二区三区四区| 久久爱www久久做| 日韩三级.com| 青草av.久久免费一区| 欧美精品自拍偷拍动漫精品| 一级精品视频在线观看宜春院 | 蜜臀a∨国产成人精品| 欧美亚洲国产一区在线观看网站| 国产精品你懂的| av在线不卡电影| 最近中文字幕一区二区三区| 懂色av中文一区二区三区| 欧美极品xxx| av一区二区不卡| 国产精品久久久久久久午夜片| 高清不卡在线观看| 国产精品成人一区二区艾草| 成人国产精品视频| 亚洲天堂中文字幕| 一本大道久久精品懂色aⅴ| 亚洲女与黑人做爰| 91福利精品第一导航| 亚洲国产美国国产综合一区二区| 91国偷自产一区二区三区成为亚洲经典| 亚洲久草在线视频| 精品1区2区3区| 奇米色一区二区| 欧美va亚洲va| 成人激情免费电影网址| **欧美大码日韩| 欧美日韩国产天堂| 国产一区二三区好的| 国产精品天干天干在观线 | 激情久久五月天| 久久久久久久久蜜桃| 99久久综合色| 日本亚洲免费观看| 国产欧美精品一区| 在线免费不卡视频| 免费成人美女在线观看.| 久久久久久久久久久久电影| 成人av电影在线| 天天影视涩香欲综合网| 久久综合中文字幕| 色天使久久综合网天天| 日本vs亚洲vs韩国一区三区 | 精品久久久久久无| 成人sese在线| 日本视频中文字幕一区二区三区| 久久久国产午夜精品| 欧美亚洲国产bt| 国产成人综合亚洲91猫咪| 夜夜嗨av一区二区三区网页 | 亚洲一区免费观看| 久久久久久久久免费| 欧美在线一区二区| 国产精品亚洲第一| 日韩精品91亚洲二区在线观看| 国产亚洲精品资源在线26u| 色婷婷久久久久swag精品| 精品制服美女久久| 亚洲一区二区三区四区不卡| 国产日韩欧美亚洲| 日韩三级电影网址| 欧美三日本三级三级在线播放| 国产成a人无v码亚洲福利| 日韩不卡手机在线v区| 亚洲男人的天堂在线观看| 亚洲精品一区二区三区福利| 欧美三级欧美一级| 色综合久久久久综合| 国产精品1区二区.| 激情综合五月天| 日韩主播视频在线| 亚洲一区二区三区在线看| 国产精品久久久久久福利一牛影视 | 香蕉加勒比综合久久| 成人免费在线观看入口| 久久久久久久久久久久久久久99 | 国产精品三级av| 精品黑人一区二区三区久久| 欧美日韩亚洲丝袜制服| 日本精品一级二级| aaa欧美色吧激情视频| 国产白丝网站精品污在线入口| 麻豆免费看一区二区三区| 午夜精品久久久久久久99樱桃| 亚洲精品免费在线观看| 亚洲欧美怡红院| 亚洲欧洲av在线| 中文字幕在线观看不卡| 国产精品全国免费观看高清| 国产日韩一级二级三级| 国产喂奶挤奶一区二区三区| 精品久久久久一区| 久久久久久黄色| 久久综合色播五月| 欧美国产日韩a欧美在线观看| 久久蜜桃av一区二区天堂| 国产日韩精品一区二区三区| 中文字幕欧美日韩一区| 中文字幕一区二区三区不卡在线 | 中文字幕乱码一区二区免费| 欧美国产精品中文字幕| 中文字幕欧美一| 一区二区三区四区蜜桃 | 亚洲啪啪综合av一区二区三区| 国产精品久久久久久久久久久免费看| 欧美国产精品一区二区| 综合久久给合久久狠狠狠97色| 亚洲日本中文字幕区| 一区二区三区美女视频| 日韩精品一卡二卡三卡四卡无卡| 蜜臀久久99精品久久久久久9| 狠狠色伊人亚洲综合成人| 国产成人精品免费网站| 91玉足脚交白嫩脚丫在线播放| 91黄色免费看| 日韩一二在线观看| 国产欧美日产一区| 一区二区三区精品| 久久99国产精品麻豆| 成人激情午夜影院| 欧美日韩免费观看一区三区| 91精品国产综合久久久久久| 欧美精品一区二区精品网| 亚洲色图在线看| 日韩av电影免费观看高清完整版 | 午夜在线成人av| 国产老女人精品毛片久久| 91香蕉视频在线| 日韩精品一区在线观看| 国产精品成人免费精品自在线观看| 亚洲最新视频在线播放| 国产一区二区精品在线观看| 在线观看av一区二区| 26uuuu精品一区二区| 亚洲猫色日本管| 激情综合色播激情啊| 欧洲视频一区二区| 欧美国产97人人爽人人喊| 亚洲国产精品麻豆| 丁香五精品蜜臀久久久久99网站| 欧美人狂配大交3d怪物一区| 日本一区二区三区国色天香| 日韩高清不卡一区| 色综合天天综合| 欧美国产精品久久| 理论片日本一区| 欧美男同性恋视频网站| 亚洲欧美视频在线观看视频| 久久国内精品自在自线400部| 91片在线免费观看| 国产欧美日韩视频在线观看| 日韩和欧美一区二区| 色综合久久中文综合久久牛| 国产亚洲精品精华液| 麻豆一区二区99久久久久| 欧美日韩成人综合天天影院 | 亚洲欧洲精品天堂一级| 国产乱码精品一区二区三| 56国语精品自产拍在线观看| 亚洲欧美日韩久久精品| 成人午夜伦理影院| 欧美精彩视频一区二区三区| 久久99热狠狠色一区二区| 欧美久久久久久久久| 亚洲一区二区三区激情| 色综合久久九月婷婷色综合| 中文字幕在线一区二区三区| 国产精品资源网站| 久久精品一区二区三区不卡牛牛| 久久er99热精品一区二区| 欧美一区午夜视频在线观看| 亚洲一区国产视频| 91.xcao| 丝袜美腿亚洲色图| 日韩一区二区中文字幕| 日本免费新一区视频| 欧美一区二区美女| 激情亚洲综合在线|