黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

獲取進程快照

系統 2550 0

點擊下載演示工程

獲取進程快照

      unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, TLHelp32, ComCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    ListView1: TListView;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);

var

  hSnapshot:THandle;

  pe32:TProcessEntry32;

  item:TListItem;

begin

    {function CreateToolhelp32Snapshot(dwFlags, th32ProcessID: DWORD): THandle;}

    {CreateToolhelp32Snapshot函數功能:函數為指定的進程、進程使用的堆[HEAP]、}

    {模塊[MODULE]、線程[THREAD])建立一個快照[snapshot]。 }

    {參數1說明:dwFlags}

    {TH32CS_INHERIT        聲明快照句柄是可繼承的。}

    {TH32CS_SNAPALL        在快照中包含系統中所有的進程和線程。}

    {TH32CS_SNAPHEAPLIST   在快照中包含在th32ProcessID中指定的進程的所有的堆。}

    {TH32CS_SNAPMODULE     在快照中包含在th32ProcessID中指定的進程的所有的模塊。}

    {TH32CS_SNAPPROCESS    在快照中包含系統中所有的進程。}

    {TH32CS_SNAPTHREAD     在快照中包含系統中所有的線程。}

    {參數2說明:th32ProcessID}

    {指定將要快照的進程ID。如果該參數為0表示快照當前進程。該參數只有在設置了}

    {TH32CS_SNAPHEAPLIST或者TH32CS_SNAPMODULE后才有效,在其他情況下該參數被忽略,}

    {所有的進程都會被快照。}

    {返回值:}

    {調用成功,返回快照的句柄,調用失敗,返回INVALID_HANDLE_VALUE 。 }

    hSnapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

    if hSnapshot=0 then begin

        ShowMessage('創建進程快照失敗!');

        Abort();

    end;



    {PROCESSENTRY32結構}

    {tagPROCESSENTRY32 = packed record

      dwSize: DWORD;              結構的大小

      cntUsage: DWORD;            此進程的引用計數

      th32ProcessID: DWORD;       進程ID

      th32DefaultHeapID: DWORD;   進程默認堆

      th32ModuleID: DWORD;        進程模塊IDThis

      cntThreads: DWORD;          此進程開啟的線程計數

      th32ParentProcessID: DWORD; 父進程的ID

      pcPriClassBase: Longint;    線程優先權

      dwFlags: DWORD;

      szExeFile: array[0..MAX_PATH - 1] of Char; 進程全名

    end;}

    pe32.dwSize:=SizeOf(PROCESSENTRY32);

    {function Process32First(hSnapshot: THandle; var lppe: TProcessEntry32): BOOL;}

    {Process32First 是一個進程獲取函數,當我們利用函數CreateToolhelp32Snapshot()}

    {獲得當前運行進程的快照后,我們可以利用process32First函數來獲得第一個進程的句柄 }

    {參數1說明:hSnapshot}

    {CreateToolhelp32Snapshot獲取進程快照的句柄}

    {參數2說明:lppe}

    {TProcessEntry32創建的結構體}

    {返回值:}

    {調用成功,返回True,調用失敗,返回False。 }

    if not Process32First(hSnapshot,pe32) then begin

        ShowMessage('獲取第一個進程失敗!');

    end;

    {function Process32Next(hSnapshot: THandle; var lppe: TProcessEntry32): BOOL;}

    {Process32Next是一個進程獲取函數,當我們利用函數CreateToolhelp32Snapshot()}

    {獲得當前運行進程的快照后,我們可以利用Process32Next函數來獲得下一個進程的句柄}

    {參數1說明:hSnapshot}

    {CreateToolhelp32Snapshot獲取進程快照的句柄}

    {參數2說明:lppe}

    {TProcessEntry32創建的結構體}

    {返回值:}

    {調用成功,返回True,調用失敗,返回False。 }

    ListView1.Clear;

    repeat

         item:=ListView1.Items.Add;

         item.Caption:=IntToStr(pe32.th32ProcessID);

         item.SubItems.Add(pe32.szExeFile);

         item.SubItems.Add(IntToStr(pe32.pcPriClassBase));

         item.SubItems.Add(IntToStr(pe32.th32ParentProcessID));

    until not Process32Next(hSnapshot,pe32);

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

    ShowMessage('程序名稱:獲取進程快照'+#13+

                '版本:1.0.0.0'+#13+

                '日期:2010-10-4'+#13+

                '作者:江湖一鍵客'+#13+

                '業務聯系QQ:82530662');

end;



end.




    

獲取進程快照


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論