全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2993
推到 Plurk!
推到 Facebook!

檢查process,把記憶體PF使用量吃光光

尚未結案
show
初階會員


發表:57
回覆:48
積分:31
註冊:2003-05-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-17 12:05:07 IP:203.69.xxx.xxx 未訂閱
我的程式碼如下,以下是在檢查背景程式是否存在 因為我的程式每秒都會檢查abc.exe是否還在跑而決定是否進行某動作 但每跑一次,我發現他就會吃掉虛擬記憶體32K...一直跑就吃光光...    下面是我測試,每按一次button1...在工作管理員/效能 顯示PF使用量..每次都會增加32K...好像不會釋放 放久了,記憶體就會被吃光...請問有何解決辦法?    
 
#include     void __fastcall TForm1::Button1Click(TObject *Sender)
{
Application->ProcessMessages();
HANDLE snapshot ;
PROCESSENTRY32 processinfo ;
processinfo.dwSize = sizeof (processinfo) ;
String process_name,result,buffer,pid;
bool status;
int length,ptr;
process_name=Edit1->Text;
snapshot = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0) ;
if (snapshot == NULL)
return ;
status = Process32First (snapshot, &processinfo) ;
while (status)
{
ptr=strcmpi(processinfo.szExeFile,process_name.c_str());
if (ptr==0)
{
    result="Yes";
    break;
}
else
{
    result="No";
}
status = Process32Next (snapshot, &processinfo) ;
}    Edit2->Text=result;
}
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-17 13:54:27 IP:218.19.xxx.xxx 未訂閱
show 您好:    我測試您貼上來的程式碼,結果並未發生您描述的那種現象,會不會是其它也放在 Timer 裡的動作所產生的問題?      7 天天敲鍵盤 v 時時按滑鼠 8
GeorgeKu
中階會員


發表:1
回覆:120
積分:74
註冊:2004-10-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-18 15:40:06 IP:218.166.xxx.xxx 未訂閱
Show, 記得離開時,用CloseHandle(snapshot)把佔用的資源釋放掉,否則就會有吃記憶體的情況發生.
系統時間:2024-05-03 23:28:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!