PIXNET Logo登入

Edison.X. Blog

跳到主文

YouLoveMe() ? LetItBe() : LetMeFree() ;

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 15 週二 201215:46
  • [P] 關閉某個執行檔

 
[回目錄]
 
一般程式跑到要當不當時,使用者可呼叫工作管理員關閉程式,
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(6,728)

  • 個人分類:Process
▲top
  • 12月 27 週一 201016:11
  • [P] Process 筆記目錄

1. 相關函式
2. 列舉 process - tlhelp32.h
3. 列舉 process - psapi.h
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(123)

  • 個人分類:Process
▲top
  • 12月 27 週一 201016:09
  • [P] 列舉 device driver

// ==================================
// filename: EnumDeviceDriver.cpp
// compiler: vs2008
// author  : EdisonX (Edison.Shih.)
//   
//   **** all rights reserve ****
// ==================================
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(109)

  • 個人分類:Process
▲top
  • 12月 27 週一 201015:08
  • [P] 列舉 modules - psapi.h

// ==================================
// filename: ListModules2.cpp
// compiler: vs2008
// author  : EdisonX (Edison.Shih.)
//   
//   **** all rights reserve ****
// ==================================
#include <windows.h>
#include <stdio.h>
#include <Psapi.h>
#pragma comment(lib, "psapi.lib")
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(76)

  • 個人分類:Process
▲top
  • 12月 27 週一 201014:35
  • [P] 列舉 modules - tlhelp32.h

相關 struct
typedef struct tagMODULEENTRY32 {
  DWORD   dwSize; // struct 大小
  DWORD   th32ModuleID; // 不用,設0
  DWORD   th32ProcessID; // 使用此 module 之 process ID
  DWORD   GlblcntUsage; // 通常 = 0xffff
  DWORD   ProccntUsage; // 與 GlblcntUsage 同
  BYTE    *modBaseAddr;  // 此 module 於 process 之起始位置
  DWORD   modBaseSize; // module 大小, bytes
  HMODULE hModule;   // module's handle
  TCHAR   szModule[MAX_MODULE_NAME32 + 1]; // module 名
  TCHAR   szExePath[MAX_PATH]; // module 全名
} MODULEENTRY32, *PMODULEENTRY32;
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(118)

  • 個人分類:Process
▲top
  • 12月 27 週一 201014:34
  • [P] 列舉 thread

process 可能會有多個 thread,於是要列舉 thread 時,必須要指定是哪個 process ,所以要給的必要參數是 process id。先看相關 struct
typedef struct tagTHREADENTRY32 {
  DWORD dwSize; // 結構體大小
  DWORD cntUsage; // 不用,設0
  DWORD th32ThreadID; // 此 thread ID
  DWORD th32OwnerProcessID; // 擁有此 thread 之 process id
  LONG  tpBasePri; // 優先權, 0-31
  LONG  tpDeltaPri; // 不用, 設0
  DWORD dwFlags; // 不用, 設0
} THREADENTRY32, *PTHREADENTRY32;
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(471)

  • 個人分類:Process
▲top
  • 12月 27 週一 201014:29
  • [P] 取得 process ID

process 管理中,PID 取得是第一步且重要的事,這裡提出二、三種方式取得 process ID
1.  已知視窗名稱
DWORD GetPIDByWindowName(const char* ClassName, const char* WindowName)
{
        DWORD PID;
        HWND targetWnd = FindWindow(ClassName, WindowName);
        GetWindowThreadProcessId(targetWnd, &PID);
        return PID;
}
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(2,792)

  • 個人分類:Process
▲top
  • 12月 27 週一 201014:28
  • [P] 列舉 process - psapi.h

psapi.h
使用 psapi.h 會比較麻煩,得到的資訊也比 tlhelp32.h 方式不會比較少,這個例子只是提供簡單的資訊出來而已。使用前需要先連 psapi.lib。由於它的函式引數都特別長,所以這裡會每個引數都一個段行,如果覺得原始碼看得很吃力可以上 MSDN 查詢相關資訊。
程式碼
// ==================================
// filename: ListProcess.cpp
// compiler: vs2008
// author  : EdisonX (Edison.Shih.)
// ref        : MSDN
//   
//   **** all rights reserve ****
// ==================================
#include <windows.h>
#include <psapi.h>
#include <stdio.h>
#pragma comment(lib, "psapi.lib")
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(1,208)

  • 個人分類:Process
▲top
  • 12月 27 週一 201014:27
  • [P] 列舉 process - tlhelp32.h

列舉 process 可用 tlhelp32.h 與 psapi.h,這裡先說明 tlhelp32.h。
tlhelp32.h
基本上不管是要列舉 process 還是 module、thread,步驟都一樣
A. 先用 CreateToolhelp32SnapShot 取得快照
B. 設定相關 struct 大小
C. 使用 xxxxx32First 取得第一個 process( module、thread) 。
D. 使用 xxxxx32Next 取得下一個 process(module、thread)。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(0) 人氣(1,053)

  • 個人分類:Process
▲top
  • 12月 26 週日 201001:38
  • [P] 程序執行相關函式

這幾天在摸程序的相關函式,本來想說寫二、三篇就結束,不過發現其實東西還蠻多的,所以先發個簡介出來,基本上所有的東西在 MSDN 上都找得到,只是要花時間去理解、去看而已。沒學過作業系統,查過網路上一些資料、翻一些書後,整理述敘如下(發現有誤也請更正):
1. program: 程式,一群程式碼集合,事實上它是死的,一直放在電腦的某個角落。
2. process: 行程,有些書籍又稱 job(工作),由 program 執行時所產生之個體。一個程式如果可以多次執行的話就有多個 process。然而每個 process 所佔用的記憶體空間並不相同;即使這二個 process 是由同一個 program 所產生,不過他們所佔用之 memory space 仍為不同。生死過程主要為新生(new)、就緒(ready)、執行(running)、等待(wating)、終結(terminated)。其中 ready、running、waiting 這三個階段可能不只經歷一次,有興趣詳情再查看作業系統相關資料。
3. thread: 執行緒,也是 CPU 基本之執行單元,同一 process 之每個 thread,可共享其程式碼、資料、檔案等系統資源。一個 process 有一個以上之 thread,若有二個以上的 thread 則稱為 multi-thread。由於系統內有多個 process 同時存在,但CPU一時間只能處理一個 process,為使執行效果自然,故交付某些 process 競爭特質去搶 CPU 使用權,具搶進 CPU 特性的就叫 thread 。
(繼續閱讀...)
文章標籤

edisonx 發表在 痞客邦 留言(1) 人氣(782)

  • 個人分類:Process
▲top
1

個人資訊

edisonx
暱稱:
edisonx
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (444,461)[C] printf 引數說明
  • (143,126)C/C++ 學習歷程分享
  • (83,007)[C&++] 亂數基本使用
  • (80,151)[C] 計時器整理
  • (58,126)[浮點數] IEEE754 , C/C++ 浮點數誤差
  • (53,349)[Poker] 撲克牌遊戲設計介紹
  • (49,848)VBA Procedure 簡述
  • (45,791)VBA 活頁簿(Workbooks)管理
  • (39,455)[C] scanf 引數說明
  • (21,953)bitset 整理

文章分類

toggle 開發手札 (2)
  • 未實作的想法 (4)
  • 心得筆記 (2)
toggle C/C++ (8)
  • C/C++ Note (52)
  • 亂數 (10)
  • Debug (9)
  • Hidden Features in C (6)
  • OO NOTE (0)
  • 面試題庫 (12)
  • C/C++ FAQ (4)
  • STL Note (3)
toggle 應用軟體/工具 (1)
  • Office (1)
toggle 數值分析 (9)
  • 非線性方程式求解 (10)
  • 矩陣運算 (7)
  • 深入質數 (5)
  • 浮點數 (9)
  • 複數 Complex (2)
  • 積分法 (2)
  • 多項式內差法 (2)
  • 常見關於數 (5)
  • math.h/cmath application (8)
toggle 程式之美 (1)
  • 遊戲之樂 (3)
toggle VB.Net (1)
  • VB.Net Note (1)
toggle 英文 (1)
  • 專題單字 (1)
toggle AutoIt!! (2)
  • AutoIt!! Note (13)
  • Auto-Dll (9)
toggle VBA (4)
  • VBA FAQ (5)
  • VBA Note (9)
  • VBA tec. (1)
  • VBA_Note2 (3)
toggle MFC (1)
  • MFC雜記 (4)
toggle Win32 (8)
  • Process (10)
  • Win32-Console (5)
  • 檔案系統 (1)
  • 音效 (1)
  • 隱喻外掛 (3)
  • System undoc. (0)
  • GDI (2)
  • 記憶體管理 (1)
toggle 環境與Script (4)
  • visual studio (6)
  • 批次檔batch (2)
  • 程式環境架構 (3)
  • Library (3)
toggle 數學整理 (2)
  • 常用公式 (1)
  • 有趣數學 (2)
toggle 演算法 (7)
  • Bit-Hacks (1)
  • AI (13)
  • 大數 (5)
  • 資料結構 (0)
  • 影像 (2)
  • 遞迴-recursive (2)
  • 回溯.列舉.遞迴 (2)
toggle 程設亂語 (1)
  • 胡言亂語 (10)
toggle SmallTalk (1)
  • SmallTalk (27)
  • 未分類文章 (1)

最新文章

  • 轉戰 python
  • [MFC] CArray 注意事項
  • 你真的很狠...
  • [開發手札] tool 整理 <NOTE>
  • [開發手札] vs dll 相容性
  • [開發手札] vc 效率問題
  • [開發手札] 修改 exe 裡面的 constant
  • [開發手札] 受不了 IDE 常當機問題...
  • [Job] Job Journal 130501
  • [面試] some tips

最新留言

  • [25/02/13] 訪客 於文章「[C語言數值分析] cmath / ma...」留言:
    您好,在最后的建表法趋近中, sin_tablePI2[i]...
  • [22/10/28] 訪客 於文章「C/C++ 學習歷程分享...」留言:
    abombterry(at)gmail.com...
  • [22/10/28] 訪客 於文章「C/C++ 學習歷程分享...」留言:
    請問現在還有教c語言嗎? 我有興趣,可否來信告知,謝謝 ...
  • [22/05/31] 五月花 於文章「[Poker] 撲克牌遊戲設計介紹...」留言:
    幫作者推一個 撲克遊戲真的很有趣 個人也是長年愛打牌的其...
  • [22/04/15] 訪客 於文章「[C語言數值分析] 非線性方程式求解 -...」留言:
    原本在搜尋引擎找出一堆 Blog 文章,不知哪幾篇值得花時間...
  • [21/12/27] RIYO 於文章「[Poker] 撲克牌遊戲設計介紹...」留言:
    感覺好酷!! 雖然不懂這些 但身為一個熱愛撲克的玩家覺得...
  • [21/10/01] 訪客 於文章「[GA] 基因演算法(Genetic A...」留言:
    只是想與板主和網友補充交流一下敝人拜讀完的拙見, 我想版主...
  • [21/06/19] 訪客 於文章「[亂數] <細說> C/C++ 亂數基本...」留言:
    請問要怎麼讓檔案第一次執行跑出10個亂數,二次執行跑出20個...
  • [20/09/24] 訪客 於文章「VBA Procedure 簡述...」留言:
    老師 您好 上述撰寫程式的示範,我能理解為何這樣演化,但我...
  • [20/06/25] 訪客 於文章「VBA Procedure 簡述...」留言:
    您好,我想請教一下 我在網路教學裡看到許多老師教製作Exc...

動態訂閱

文章精選

文章搜尋

誰來我家

參觀人氣

  • 本日人氣:
  • 累積人氣:

留言板