0
我有這樣的代碼在這裏:結果從發佈
#include "windows.h"
#include "Tlhelp32.h"
#include "shellapi.h"
#include <wchar.h>
#include <fstream>
bool enumProcesses();
int main()
{
enumProcesses();
ShellExecute(NULL, L"open", L"log.txt", NULL, NULL, SW_SHOW);
return 0;
}
bool enumProcesses()
{
std::wofstream log("log.txt");
PROCESSENTRY32 lppe;
MODULEENTRY32 lpme;
HANDLE hSnapshot;
HANDLE mSnapshot;
lppe.dwSize = sizeof(PROCESSENTRY32);
lpme.dwSize = sizeof(MODULEENTRY32);
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hSnapshot == INVALID_HANDLE_VALUE)
{
log << L"Error creating process snapshot.";
return false;
}
if(!Process32First(hSnapshot, &lppe))
{
log << L"Error enumerating first process.";
return false;
}
else
{
mSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, lppe.th32ProcessID);
if(mSnapshot != INVALID_HANDLE_VALUE)
{
Module32First(mSnapshot, &lpme);
}
if(wcscmp(lppe.szExeFile, L"[System Process]") != 0)
{
log << lpme.szExePath << "\n";
}
}
while(Process32Next(hSnapshot, &lppe))
{
if(wcscmp(lppe.szExeFile, L"System") != 0)
{
if((mSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, lppe.th32ProcessID)) != INVALID_HANDLE_VALUE)
{
if(Module32First(mSnapshot, &lpme)) {
log << lpme.szExePath << "\n";
}
}
}
}
CloseHandle(hSnapshot);
CloseHandle(mSnapshot);
log.close();
return true;
}
我的問題是,每當我調試在VC++使用F5或CTRL + F5這個代碼,它顯示我所有的進程,但是,當我創建發行版並運行它,有些事情甚至不顯示了,我不知道爲什麼..
這裏就是我說的:
發行版:
C:\WINDOWS\Explorer.EXE
C:\Program Files\Java\jre6\bin\jusched.exe
C:\WINDOWS\system32\ctfmon.exe
C:\Program Files\Messenger\msmsgs.exe
C:\WINDOWS\system32\wscntfy.exe
C:\WINDOWS\system32\wuauclt.exe
c:\Program Files\Microsoft Visual Studio 9.0\Common7\ide\mspdbsrv.exe
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
C:\Program Files\Mozilla Firefox\firefox.exe
C:\Documents and Settings\windows\Desktop\c++ projects\gggg\Debug\gggg.exe
在創建調試
日誌:
\SystemRoot\System32\smss.exe
\??\C:\WINDOWS\system32\csrss.exe
\??\C:\WINDOWS\system32\winlogon.exe
C:\WINDOWS\system32\services.exe
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\System32\svchost.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\spoolsv.exe
C:\WINDOWS\Explorer.EXE
C:\Program Files\Java\jre6\bin\jusched.exe
C:\WINDOWS\system32\ctfmon.exe
C:\Program Files\Messenger\msmsgs.exe
C:\Program Files\Java\jre6\bin\jqs.exe
c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe
c:\Program Files\Microsoft SQL Server\90\Shared\sqlwriter.exe
C:\WINDOWS\System32\alg.exe
C:\WINDOWS\system32\wscntfy.exe
C:\WINDOWS\system32\wuauclt.exe
c:\Program Files\Microsoft Visual Studio 9.0\Common7\ide\mspdbsrv.exe
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
C:\Program Files\Mozilla Firefox\firefox.exe
C:\WINDOWS\system32\NOTEPAD.EXE
C:\WINDOWS\system32\cmd.exe
c:\Documents and Settings\windows\Desktop\c++ projects\gggg\Release\gggg.exe
是否有事可做的權限?
編輯:
縱觀1800信息的帖子,我想「逼」它在系統帳戶下運行,通過使用PSEXEC -i -d -s和它的工作...有什麼辦法我可以運行這個,而不需要做這樣的事情?
我正在使用管理員權限的XP機器上運行此操作,所以我不知道如何進一步提升.. – 2009-06-30 07:16:36