直接用EVC 4開啟該工程,直接bulid出現如下的錯誤:
--------------------Configuration: listprocess - Win32 (WCE emulator) Debug--------------------
Linking...
listprocessDlg.obj : error LNK2019: unresolved external symbol _Process32Next referenced in function "protected:
void __thiscall CListprocessDlg::OnButton1(void)" (?OnButton1@CListprocessDlg@@IAEXXZ)
listprocessDlg.obj : error LNK2019: unresolved external symbol _Process32First referenced in function "protected:
void __thiscall CListprocessDlg::OnButton1(void)" (?OnButton1@CListprocessDlg@@IAEXXZ)
listprocessDlg.obj : error LNK2019: unresolved external symbol _CreateToolhelp32Snapshot referenced in function
"protected: void __thiscall CListprocessDlg::OnButton1(void)" (?OnButton1@CListprocessDlg@@IAEXXZ)
emulatorDbg/listprocess.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
但是,如果各個檔案逐個編譯都沒有出錯
還好,這種錯誤有經驗——缺少以上函數的對應的庫檔案
而且,也剛看過〈EVC進階編程及其應用開發〉中P130,提到這個庫檔案toolhelp.lib
因此,只要在IDE中,Project Settings-->Link-->Object/library modules 下面添加:
toolhelp.lib
搞定!
另外,需要在StdAfx.h檔案,添加如下的語句,如果沒有的話:
#include <tlhelp32.h>
注:這個也沒有必要,我只在IDE中作了如上的修改,運行完全沒有問題。
build,運行後的按button1後的圖如下:
奇怪的是,為什麼這麼重要的細節,該書竟然沒有提到。