windows下消滅殘留程序的方法

2021-08-10 08:05:25 字數 916 閱讀 1492

有時候自己寫的程式,雖然對話方塊關閉了,但是對話方塊的一些成員變數並沒有釋放掉(這些成員變數往往是一些指標,在對話方塊的建構函式裡構造,在對話方塊的析構函式裡釋放)如果陰差陽錯沒釋放掉,就造成程序不能退出。

解決這個問題 的辦法,既要「預防」,也要「治標」。所謂預防,就是在對話方塊的宣告檔案裡,盡量把成員用變數宣告,不要用指標。如:

class mydlg : public qdialog

但是預防不能奏效時,只能用簡單粗暴的辦法「治標」。下面給乙個例子,每次名為mainwin.exe的程式啟動之前,把同名程式的程序全殺死。當然,更好的辦法是每次在程式退出時,「殺死自己」。

#include "mainwindow.h"

int igetcmdresult(char * pcmd, int * presult, int ilen)

; while(fgets(arrtmp, ilen, fp) != null)

_pclose(fp);

} return k;

}int main(int argc, char *argv)

; int iid = getcurrentprocessid();//當前執行緒id,不能刪

int iquantity = igetcmdresult("tasklist | findstr mainwin.exe", arrresult, 1024);

for(int k = 0; k < iquantity; k++)

; sprintf(cstrcmd, "taskkill /pid %d /f", arrresult[k]);

winexec(cstrcmd, sw_hide);

} }....................

}

Windows下的程序隱藏

9x環境中windows提供了想光的api函式用於隱藏系統程序。但是到了2000以上系統,已經無法真正的做到對於程序的隱藏,除非編寫底層驅動。但是我們可以通過一些變通的辦法來達到隱藏程序的目的,其中乙個就是遠端注入。簡單的說就是先編寫乙個api的dll,然後將這個dll庫注入到乙個系統程序中,作為它...

Windows下的程序通訊

剪貼簿 剪貼簿 clipped board 實質是win32 api中一組用來傳輸資料的函式和訊息,為windows應用程式之間進行資料共享提供了乙個 中介,windows已建立的剪下 複製 貼上的機制為不同應用程式之間共享不同格式資料提供了一條捷徑。當使用者在應用程式中執行剪下或複製操作時,應 用...

Windows下的程序 一

什麼是程序?程序就是乙個正在執行的程式的例項,由兩部分組成 核心物件。作業系統用核心物件對程序進行管理,核心物件是作業系統儲存程序統計資訊的地方。位址空間。其中包含所有可執行檔案或dll模組的 和資料,以及一些其他的資料,提供執行緒執行的環境。程序比較 懶惰 它不做任何事情,所有的事情都交給執行緒在...