線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1069
推到 Plurk!
推到 Facebook!

系统进程列举程式编译问题

答題得分者是:dllee
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-06 13:11:03 IP:211.162.xxx.xxx 未訂閱
大大们好,利用系统快照的函数来列举当前的进程,我在窗体上放置了一个ListView和一个Button,其代码如下:
//---------------------------------------------------------------------------
#include 
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Button1Click(TObject *Sender)
{
        ListView1->Items->Clear();            HANDLE snapshot;    
        PROCESSENTRY32 processinfo;
        processinfo.dwSize = sizeof(processinfo);   //dwSize为字节分配            snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
        if(snapshot == NULL)
            return;            bool status = Process32First(snapshot,&processinfo);            while(status)
        {
            TListItem *li = ListView1->Items->Add();
            String buffer;
            int length;
            buffer.SetLength(512);
            length = sprintf(buffer.c_str(),"X",processinfo,th32ProcessID);
            buffer.SetLength(length);
            li->Caption = buffer;                buffer.SetLength(512);
            length = sprintf(buffer.c_str(),"X",processinfo,th32ProcessID);
            buffer.SetLength(length);
            li->SubItems->Add(processinfo.szExeFile);                status = Process32Next(snapshot,&processinfo);
        }
}
//---------------------------------------------------------------------------
为什么编译器不认识PROCESSENTRY32,CreateToolhelp32Snapshot等函数呢?编译过不了啊,劳烦大大们能点拨一下我. 人生在勤,不索何获?
------
人生在勤,不索何获?
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-06 15:25:59 IP:61.224.xxx.xxx 未訂閱
請 include tlhelp32.h
/******************************************************************************                                                                             *
* tlhelp32.h -  WIN32 tool help functions, types, and definitions             *
*                                                                             *
* Version 1.0                                                                 *
*                                                                             *
* NOTE: windows.h/winbase.h must be #included first                           *
*                                                                             *
* Copyright (c) 1994-1999, Microsoft Corp.   All rights reserved.             *
*                                                                             *
\*****************************************************************************/
其實這類的問題,可以自己到 BCB 安裝目錄下的 include 中去找(找檔案包含指定內容的方式去找),如果因為 include 了某檔,又發生某個東西未定義,就用同樣的方式再去找。 當然,也會有找不到的情況,因為 BCB 內附的 Windows API 並不是最新的,例如 XP 的一些新功能新代號,在BCB中的 include 可能都找不到,這時,就得到 google 去找,一些含有原碼的範例,會提供這些新的功能的代號,找到後,再自行定義即可。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-06 16:24:04 IP:211.162.xxx.xxx 未訂閱
dllee大大,您真是太完美了,您不仅解答了我的问题,还教会我自行解决问题的方法,万分的感激您!!!谢谢 人生在勤,不索何获?
------
人生在勤,不索何获?
系統時間:2024-05-05 18:56:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!