亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi實(shí)現(xiàn)獲取進(jìn)程列表及相關(guān)信息的實(shí)例

2020-01-31 20:50:10
字體:
供稿:網(wǎng)友

Delphi實(shí)現(xiàn)獲取進(jìn)程列表及相關(guān)信息的實(shí)例

前言:

閑著沒事,看著任務(wù)管理器好玩,查資料先簡單實(shí)現(xiàn)一下,代碼中沒有加入獲取CPU占用率的代碼,這個(gè)代碼網(wǎng)上很多,只是不喜歡那種寫法,這里就不寫了。以后繼續(xù)完善,對于System Process和System的信息還沒法獲得,那位兄弟知道可以提個(gè)醒。

 代碼如下

unit Main;  interface  uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs,TlHelp32, StdCtrls, ComCtrls,psAPI;  type  PTokenUser  =  ^TTokenUser;  _TOKEN_USER  =  record  User:  TSIDAndAttributes;  end;  TTokenUser  =  _TOKEN_USER;    TForm1 = class(TForm)   btn_Get: TButton;   Lv_Process: TListView;   procedure btn_GetClick(Sender: TObject);   procedure FormCreate(Sender: TObject);  private   { Private declarations }   function GetMemUsedText(memsize:Cardinal):string;   function GetProcessPriority(priority:Cardinal):string;   function GetCupUsedPercent(hprocess:THandle):string;   function GetProcessUser(hprocess:THandle):string;  public   { Public declarations }  end;  var  Form1: TForm1;  implementation  {$R *.dfm}  { 作用:提權(quán)到Debug,為了在Vista和Win7下讀取系統(tǒng)信息,運(yùn)行時(shí)需要以管理員身份運(yùn)行 } function PromoteProcessPrivilege(Processhandle:Thandle;Token_Name:pchar):boolean; var   Token:cardinal;   TokenPri:_TOKEN_PRIVILEGES;   Luid:int64;   i:DWORD; begin   Result:=false;   //打開令牌   if OpenProcessToken(Processhandle,TOKEN_ADJUST_PRIVILEGES,Token) then   begin    //看系統(tǒng)權(quán)限的特權(quán)值     if LookupPrivilegeValue(nil,Token_Name,Luid) then     begin       TokenPri.PrivilegeCount:=1;       TokenPri.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;       TokenPri.Privileges[0].Luid:=Luid;       i:=0;       //提權(quán)       if AdjustTokenPrivileges(Token,false,TokenPri,sizeof(TokenPri),nil,i) then         Result:=true;     end;   end;   CloseHandle(Token); end;  function AddFileTimes(KernelTime, UserTime: TFileTime): TDateTime; var  SysTimeK, SysTimeU: TSystemTime; begin  FileTimeToSystemTime(KernelTime, SysTimeK);  FileTimeToSystemTime(UserTime, SysTimeU);  Result :=SystemTimeToDateTime(SysTimeK)+SystemTimeToDateTime(SysTimeU); end;  //獲取CPU時(shí)間 function GetProcCPUTime(procID:THandle): TDateTime; var  CreationTime, ExitTime, KernelTime, UserTime: TFileTime; begin  GetProcessTimes(procID, CreationTime, ExitTime, KernelTime,UserTime);  Result := AddFileTimes(KernelTime, UserTime); end;  procedure TForm1.btn_GetClick(Sender: TObject); var  hSnapShot,hProcess,hModel:THandle;  pEntry:TProcessEntry32;  find:Boolean;  item:TListItem;  //內(nèi)存信息  pPMC:PPROCESS_MEMORY_COUNTERS;  pPMCSize,ProcessPriority:Cardinal;  n:DWORD;  fName:array [0..MAX_PATH-1] of char; begin  //創(chuàng)建進(jìn)程快照  hSnapShot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);  pEntry.dwSize := SizeOf(pEntry);  //第一個(gè)進(jìn)程  find := Process32First(hSnapShot,pEntry);  while find do  begin   item := Lv_Process.Items.Add;   //進(jìn)程名   item.Caption := pEntry.szExeFile;   //進(jìn)程ID   item.SubItems.Add(IntToStr(pEntry.th32ProcessID));   pPMCSize := SizeOf(PROCESS_MEMORY_COUNTERS);   GetMem(pPMC,pPMCSize);   pPMC.cb := pPMCSize;   //打開進(jìn)程,增加PROCESS_VM_READ權(quán)限,以便后面獲取完整路徑時(shí)使用   hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,False,pEntry.th32ProcessID);   //獲取內(nèi)存信息   if GetProcessMemoryInfo(hProcess,pPMC,pPMCSize) then   begin    //取得進(jìn)程的用戶    item.SubItems.Add(GetProcessUser(hProcess));    //內(nèi)存使用    item.SubItems.Add(GetMemUsedText(pPMC.WorkingSetSize));    //內(nèi)存峰值    item.SubItems.Add(GetMemUsedText(pPMC.PeakWorkingSetSize));    //CPU時(shí)間    item.SubItems.Add(FormatDateTime('hh:mm:ss',GetProcCPUTime(hProcess)));    //獲取優(yōu)先級    ProcessPriority := GetPriorityClass(hProcess);    item.SubItems.Add(GetProcessPriority(ProcessPriority));    //根據(jù)進(jìn)程句柄找到模塊句柄    ENumProcessModules(hProcess,@hModel,SizeOf(hModel),n);    //取得完整路徑    GetModuleFileNameEx(hProcess,hModel,fName,Length(fName));    item.SubItems.Add(fName);   end;   FreeMem(pPMC);   CloseHandle(hProcess);   find := Process32Next(hSnapShot,pEntry);  end; end;  function TForm1.GetCupUsedPercent(hprocess: THandle): string; begin end;  function TForm1.GetMemUsedText(memsize: Cardinal): string; begin  Result := IntToStr(memsize div 1024) + ' K'; end;  function TForm1.GetProcessPriority(priority: Cardinal): string; begin  case priority of   IDLE_PRIORITY_CLASS: Result := '低';   NORMAL_PRIORITY_CLASS: Result := '普通';   HIGH_PRIORITY_CLASS: Result := '高';   REALTIME_PRIORITY_CLASS: Result := '實(shí)時(shí)';  end; end;  //獲取進(jìn)程的所屬用戶 function TForm1.GetProcessUser(hprocess: THandle): string; var  hToken:THandle;  dwSize,dwUserSize,dwDomainSize:DWORD;  pUser:PTokenUser;  szUserName, szDomainName: array of Char;  peUse:  SID_NAME_USE; begin  //打開權(quán)限  if not OpenProcessToken(hprocess,TOKEN_QUERY,hToken) then Exit;  //獲取令牌信息,這里第三個(gè)參數(shù)使用了nil,是先返回實(shí)際大小dwSize,然后根據(jù)這個(gè)大小去分配內(nèi)存  GetTokenInformation(hToken,TokenUser,nil,0,dwSize);  pUser := nil;  //分配空間  ReallocMem(pUser,dwSize);  dwUserSize := 0;  dwDomainSize := 0;  //獲取信息  if not GetTokenInformation(hToken,TokenUser,pUser,dwSize,dwSize) then Exit;  //查找用戶信息,先返回用戶名和域名的大小,當(dāng)然你也可以一次性得到,即不使用動態(tài)數(shù)組  LookupAccountSid(nil,pUser.User.Sid,nil,dwUserSize,nil,dwDomainSize,peUse);  if (dwUserSize <> 0) and (dwDomainSize <> 0) then  begin   //分配長度   SetLength(szUserName,dwUserSize);   SetLength(szDomainName,dwDomainSize);   //再次,獲取用戶名和域名   LookupAccountSid(nil,pUser.User.Sid,PChar(szUserName),dwUserSize,PChar(szDomainName),dwDomainSize,peUse);  end;  Result := PChar(szUserName)+'/'+PChar(szDomainName);  CloseHandle(hToken);  FreeMem(pUser); end;  procedure TForm1.FormCreate(Sender: TObject); begin  PromoteProcessPrivilege(GetCurrentProcess,'SeDebugPrivilege'); end;  end. 

 運(yùn)行圖片

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

久久一区二区三区av| 竹内纱里奈兽皇系列在线观看| 国产精品网站导航| 欧美精品丝袜久久久中文字幕| 三级影片在线观看欧美日韩一区二区| 国产精品1区| 久久久久久久久久久电影| 欧美专区福利在线| 蜜桃传媒麻豆第一区在线观看| 日韩在线黄色| 国产精品乱码一区二区三区| 国产精品入口麻豆九色| av在线播放网址| 天堂视频在线免费观看| 一级毛片精品毛片| 日本高清不卡一区二区三区视频| 97人妻人人揉人人躁人人| 美女羞羞视频在线观看| 高清hd写真福利在线播放| 国产综合久久久| 理论片午午伦夜理片在线播放| 国产精品久久久久久无人区| 五月天丁香社区| 在线视频观看你懂的| 亚洲一区在线观看网站| 99九九热只有国产精品| 久草福利在线视频| 四虎网站在线观看| 久久免费看视频| 欧美韩国日本在线观看| 情se视频网在线观看| 91久久久久久久久久久久久| 在线视频观看一区| 男人的天堂视频网站| 女同互忝互慰dv毛片观看| 一区二区传媒有限公司| 日本成人超碰在线观看| 天天综合色天天综合色h| 女人天堂亚洲aⅴ在线观看| 国产一区中文字幕| 亚洲男人天堂2020| 亚洲一区欧美在线| 日本美女视频网站| av黄色在线| 国产免费成人在线| 另类av一区二区| 国产黄色一级电影| 国产亚洲精品久| 国产成人一区二区三区小说| 日产欧产美韩系列久久99| 亚洲av色香蕉一区二区三区| 欧美伦理一区二区| 亚洲视频第二页| 神马欧美一区二区| www日本视频| 日本不卡视频在线| 亚洲 欧美 日韩 国产综合 在线| 国产精品久久久久aaaa樱花| 一二三av在线| 欧美一区二区三区四区久久| 3d动漫精品啪啪一区二区竹菊| 中文字幕在线观看二区| 青青视频免费在线| 午夜精品一二三区| 午夜欧美精品| 日韩精品视频久久| 日韩精品一二三四区| 一区二区三区四区免费观看| 国产真实夫妇交换视频| 最新av免费在线| 天天干天天插天天射| 久久久久久中文| 日韩.com| 日本成人黄色| 欧洲成人性视频| 日韩欧美一区二区三区在线视频| 在线视频精品免费| 亚洲 日韩 国产第一| 亚洲第一视频| 91精品国产入口在线| 欧美成人高潮一二区在线看| 国产区在线观看成人精品| 国产欧美一区二区精品仙草咪| 精品久久久久一区二区国产| 91精品91久久久中77777老牛| 精品久久久久成人码免费动漫| 制服.丝袜.亚洲.另类.中文| 欧美日韩视频免费观看| 日韩不卡av| 久久久久久一二三区| 91久色porny| 97**国产露脸精品国产| 品天堂xxxx高清| 久久精品免视着国产成人| 91在线观看欧美日韩| 国产二区精品| 日本一区二区精品视频| 老司机免费视频一区二区| 亚洲精品乱码久久久久久久久久久久| 久久影院免费观看| 亚洲大片免费观看| 成熟亚洲日本毛茸茸凸凹| 国产香蕉成人综合精品视频| 26uuu精品一区二区三区四区在线| www.久久撸.com| 9色porny自拍视频一区二区| 国产在线精品视频| 久久这里只有精品国产| 91精品在线视频观看| 在线观看黄色网| 成人激情电影一区二区| 中文字字幕在线中文乱码| 中文字幕人妻精品一区| 米奇精品一区二区三区| 久久久久久网址| 91在线视频一区| 碰碰在线视频| 亚洲高清免费在线观看| av免费网站在线观看| 成人三级av在线| 欧美精品啪啪| 日本中文视频| 亚洲国产精品123| 青春草国产视频| 欧美日韩国产三级| 日本一区视频在线播放| 99久久久无码国产精品| 国产偷窥洗澡视频| 欧美三级午夜理伦三级小说| 国产熟女一区二区丰满| 精品国产一区二区三区四区vr| 色在线免费视频| 欧美精品黑人性xxxx| 欧美色偷偷大香| 欧美丝袜在线观看| 欧美在线看片| 久久99日本精品| 久久中文精品视频| 最新国产乱人伦偷精品免费网站| 欧美日韩精品免费观看视一区二区| 2022成人影院| 国产a级一级片| 欧美日韩一区二区三区四区不卡| 国产v综合v亚洲欧美久久| 5566成人精品视频免费| 91丨九色丨蝌蚪丨老版| 欧美高清视频一区二区三区在线观看| 黄色片免费看| 国产精欧美一区二区三区白种人| 一色屋成人免费精品网| 欧美s码亚洲码精品m码| 一区二区日韩免费看| 久久国产视频网| 成人自拍性视频| 国产一区免费在线观看| 无遮挡又色又刺激的女人视频| 日韩一区二区精品葵司在线| 超碰在线观看91| 久久久五月婷婷| 国产黄色av网站| 欧美交换配乱吟粗大25p| 精品日韩美女的视频高清| 一本一道人人妻人人妻αv| 艳色歌舞团一区二区三区| 黄网在线观看网址入口| 狂野欧美激情性xxxx欧美| 成人免费无遮挡无码黄漫视频| 亚洲精品国产精品国自产观看| 黄页网站免费在线观看| 国产精品白丝av嫩草影院| 亚洲天堂第一页| 国产精品99久久免费观看| 91超碰在线免费观看| 99久久国产综合精品五月天喷水| 精品不卡一区二区| 超碰免费97在线观看| 91av手机在线| 在线女人免费视频| 伊人久久大香线蕉综合网站| 亚洲美女视频网| 欧美一区二区三区四区五区| 手机在线看福利| 亚洲第一免费播放区| 中文字幕日韩欧美精品在线观看| 国产91色在线|| 成人在线高清| 成人国产精品免费| 大地资源第二页在线观看高清版| 亚洲品质自拍| 国产精品入口尤物| 亚洲观看高清完整版在线观看| 日韩视频在线观看视频| 韩国三级hd中文字幕有哪些| 美女视频一区在线观看| 久久久久久久久久久国产| 影音先锋中文字幕影院| 四虎永久成年免费影院| 亚洲高清毛片一区二区| 亚洲欧美一区二区三区在线播放| 亚洲精品毛片一区二区三区| 51精品国产| av香蕉成人| 国内精品露脸在线视频播放| 国产精品一区二区久久久久| 午夜激情一区二区三区| 最新版sss视频在线| 亚洲欧洲在线免费| 91在线免费播放| 欧美日韩亚洲在线观看| 影音先锋电影在线观看| 在线观看91久久久久久| 国精产品一区一区三区四川| 性爱在线免费视频| 丰满少妇大力进入| 99在线热播精品免费99热| 2023国产精品自拍| 日韩黄色大片| 午夜剧场高清版免费观看| 九九视频在线观看| 成人激情综合| 久久99精品国产99久久6尤物| 国产69视频在线观看| 欧美日韩视频在线一区二区| 欧美另类中文字幕| 欧美高清69hd| 免费精品99久久国产综合精品应用| av影院在线免费观看| av官网在线观看| 91香蕉视频黄| 国内不卡一区二区三区| 免费在线看a| 日本中文字幕电影| 欧美一二三不卡| 国产成人精品一区二区在线| 欧美精品无码一区二区三区| 久久成人国产精品入口| 日本精品一区二区三区四区| 精品人妻一区二区三区四区| 开心激情综合| 中文字幕免费在线不卡| 激情 小说 亚洲 图片: 伦| 蜜臀av性久久久久蜜臀aⅴ流畅| 99在线免费观看| 国产拍揄自揄精品视频麻豆| 伊是香蕉大人久久| 韩国日本不卡在线| 国产日韩欧美另类| 亚洲精品国产嫩草在线观看| 欧美精品自拍偷拍动漫精品| av网址在线看| www狠狠操| 精品国产视频在线| 粉嫩小泬无遮挡久久久久久| 午夜伦理大片视频在线观看| 国产又粗又硬又长又爽| 99色这里只有精品| 日本一区二区三区四区五区六区| 久久精品国产亚洲7777| 久久色视频免费观看| 国产精品无码一区二区桃花视频| 婷婷激情久久| 亚洲欧美成人网| 日韩精品三区| 黄色一级大片在线免费看国产| 中文字幕av久久爽一区| 99久久久无码国产精品不卡| 九九九精品视频| 国产精品久久久久婷婷二区次| 亚洲一区二区在线免费看| 国产福利在线观看| 国内精品久久久久久久影视麻豆| 午夜在线一区二区| 你懂得在线观看| 超碰成人久久| 国产精品一区二区美女视频免费看| 男人j进女人j| 中文字幕无乱码| 色94色欧美sute亚洲13| 麻豆网在线观看| 日本在线www| 国产污污在线观看| 国产一区白浆| 黄色高清视频| 国产成人av毛片| 日韩免费观看av| 黄页在线播放| 亚洲欧洲一区二区福利| 亚洲自拍偷拍视频| 精品伦精品一区二区三区视频| 欧美一区二区激情| 在线视频中文亚洲| 哺乳挤奶一区二区三区免费看| 欧美一二三不卡| 久久久久久久久网| 国产 日韩 欧美 精品| www.久久成人| 亚洲free性xxxx护士白浆| 91麻豆国产自产在线观看| 一二三区在线观看| 中文字幕在线不卡一区| 亚洲一区 二区 三区| 欧美日本一区二区三区| 国产伦精品一区二区三区视频痴汉| 亚洲 欧美 视频| 在线观看美女网站大全免费| 久久久精品999| 亚洲av午夜精品一区二区三区| 日韩精品一区三区| 久久久久久国产精品视频| 欧美色18zzzzxxxxx| 亚洲成人精品| 亚洲成a人片77777老司机| 国产成年人视频网站| 91涩漫在线观看| 一级黄色免费毛片| 57pao国产成永久免费视频| 北条麻妃99精品青青久久| 伊人男人综合视频网| 91看片免费版| 制服丝袜中文字幕在线观看| 日韩av一区二区三区美女毛片| 国产三级在线观看视频| 麻豆成全视频免费观看在线看| 亚洲一二三区在线| 久久久久久久久久久久久久久久久久| 亚洲成人黄色片| 欧美一级手机免费观看片| 亚洲综合久久久|