列舉WINDOWS程序和執行緒的建立 掛起 喚醒操作

2021-04-12 15:18:26 字數 1202 閱讀 1442

列舉windows中程序需要使用openprocess,enumproces**odules,getmodulebasename,enumprocesses函式,

而建立執行緒用的是createthread函式。

對程序的列舉例項在msdn中有,搜尋enumprocesses函式就會找到鏈結,

需要新增papi.h庫檔案,編譯器鏈結加入psapi.lib庫(psapi.dll)

執行緒的建立比較簡單,其中threadapi2使用suspendthread(hthread1),resumethread(hthread1)方法來對執行緒1進行掛起和喚醒。

#include

#include

#include

#include "psapi.h"

handle hthread1,hthread2;

dword winapi threadapi(pvoid pvparam)

wprintf( text("%s /n"), text("end of threadapi1"));

return m_count;

}dword winapi threadapi2(pvoid pvparam)

if( m_count == 600)

}wprintf( text("%s /n"), text("end of threadapi2"));

return m_count;

}void printprocessnameandid( dword processid )

}// print the process name and identifier.

_tprintf( text("%s  (pid: %u)/n"), szprocessname, processid );

closehandle( hprocess );

}void main( )

/*dword dwthreadid;

hthread1 = createthread(null,

null,

threadapi,

null,

null,

&dwthreadid);

hthread2 = createthread(null,

null,

threadapi2,

null,

null,

null);

*/getchar();

Windows列舉所有程序

要編寫乙個類似於 windows 任務管理器的軟體,首先遇到的問題是如何實現列舉所有程序。暫且不考慮進入核心態去查隱藏程序一類的,下面提供幾種方法。請注意每種方法的使用侷限,比如使用這些 api 所需要的作業系統是什麼 尤其是是否能在 windows mobile 下使用 本文參考使用者態列舉程序的...

列舉程序所有執行緒

include stdafx.h include include include tlhelp32.h 有些位址過低的列舉不到,就給出了位址對照,容錯也沒做怎麼好 typedef enum threadinfoclass threadinfoclass typedef handle stdcall ...

Windows下如何列舉所有程序

要編寫乙個類似於 windows 任務管理器的軟體,首先遇到的問題是如何實現列舉所有程序。暫且不考慮進入核心態去查隱藏程序一類的,下面提供幾種方法。請注意每種方法的使用侷限,比如使用這些 api 所需要的作業系統是什麼 尤其是是否能在 windows mobile 下使用 本文參考使用者態列舉程序的...