今天在項(xiàng)目中遇到了一個(gè)問(wèn)題:在smartphone上獲取進(jìn)程地址不成功,而在pocket pc上卻可以獲取成功。研究了一下,這是跟smartphone上的安全機(jī)制有關(guān),需要對(duì)我們的應(yīng)用程序進(jìn)行簽名。
開(kāi)發(fā)的時(shí)候利用數(shù)字簽名就可以解決。
開(kāi)發(fā)的時(shí)候,在Project->Property->Configuration Properties->Authenticode Signing中需要加載開(kāi)發(fā)安全證書(shū)。
這樣我們就可以很方便的獲得進(jìn)程的路徑
TCHAR szPath[MAX_PATH];
HANDLE hProcess = OpenProcess(0, FALSE, pe.th32ProcessID);
GetModuleFileName((HMODULE)hProcess, szPath, sizeof(szPath));
CloseHandle(hProcess);
如果hProcess為NULL的話,獲取的是當(dāng)前進(jìn)程的路徑。
所以開(kāi)發(fā)SmartPhone時(shí)需要注意這點(diǎn)。涉及特權(quán)API了,就需要簽名了。
posted on 2009-03-11 17:52
Sandy 閱讀(1735)
評(píng)論(2) 編輯 收藏 引用 所屬分類:
windows學(xué)習(xí)