您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetModuleBaseName函数代码示例

51自学网 2021-06-01 21:11:05
  C++
这篇教程C++ GetModuleBaseName函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetModuleBaseName函数的典型用法代码示例。如果您正苦于以下问题:C++ GetModuleBaseName函数的具体用法?C++ GetModuleBaseName怎么用?C++ GetModuleBaseName使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetModuleBaseName函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ret

HMODULE ChildProcessManager::GetChildProcessMainModule() const{	HMODULE ret(NULL);	if (IsChildProcessCreated())	{		HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,				FALSE,				m_piProcInfo->dwProcessId			);		if (hProcess != INVALID_HANDLE_VALUE)		{			char lpBaseName[MAX_PATH];			CProcessModuleIterator pmi(m_piProcInfo->dwProcessId);			for (HMODULE hModule = pmi.First(); hModule; hModule = pmi.Next())			{				if (GetModuleBaseName(hProcess, hModule, lpBaseName, MAX_PATH))				{					std::string moduleName(lpBaseName);					if (moduleName.find(".exe") != std::string::npos)					{						ret = hModule;						break;					}				}			}			CloseHandle(hProcess);		}	}	return ret;}
开发者ID:kbac70,项目名称:bridge-for-skype-extras,代码行数:35,


示例2: GetProcessID

ULONG GetProcessID(LPCSTR TargetProcessName){    DWORD nSize = MAX_PATH;	HANDLE hCurrentProcess;	CHAR BaseName[MAX_PATH];		    DWORD aProcesses[1024], cbNeeded;    unsigned int i;    if (!EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded))        return FALSE;   // NumberProcesses = nSize = cbNeeded / sizeof(DWORD);    for (i = 0; i <= nSize; i++)	{		if(NULL != (hCurrentProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, aProcesses[i])))		{			GetModuleBaseName(hCurrentProcess, NULL, BaseName, sizeof(BaseName));			if(0 == stricmp(BaseName, TargetProcessName))			{				CloseHandle(hCurrentProcess);				return aProcesses[i];			}		}		CloseHandle(hCurrentProcess);	}	return FALSE;}
开发者ID:Artorios,项目名称:rootkit.com,代码行数:33,


示例3: getModuleBase

	DWORD getModuleBase(const std::string& sModuleName, HANDLE hProc)	{		HMODULE *hModules = nullptr;		char buffer[64];		DWORD modules_size;		DWORD result = -1;		if (!EnumProcessModules(hProc, hModules, 0, &modules_size))		{			std::cout << "Error: EnumProcessModules failed: " << GetLastError() << std::endl;			return 0;		}		hModules = new HMODULE[modules_size / sizeof(HMODULE)];		if (EnumProcessModules(hProc, hModules, modules_size / sizeof(HMODULE), &modules_size))		{			for (unsigned int i = 0; i < modules_size / sizeof(HMODULE); i++)			{				if (GetModuleBaseName(hProc, hModules[i], buffer, sizeof(buffer)))				{					if (strcmp(sModuleName.c_str(), buffer) == 0)					{						result = (DWORD)hModules[i];						break;					}				}			}		}		delete[] hModules;		return result;	}
开发者ID:drupalhunter-team,项目名称:CheatFramework,代码行数:33,


示例4: PrintProcessNameAndID

void PrintProcessNameAndID( DWORD processID ){	char szProcessName[MAX_PATH] = "unknown";		// Get a handle to the process.	HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |																 PROCESS_VM_READ,																 FALSE, processID );		// Get the process name.	if (NULL != hProcess )	{		HMODULE hMod;		DWORD cbNeeded;		if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), 														 &cbNeeded) )		{			GetModuleBaseName( hProcess, hMod, szProcessName, 												 sizeof(szProcessName) );		}		else return;	}	else return;		// Print the process name and identifier.	printf( "%s (Process ID: %u)/n", szProcessName, processID );	CloseHandle( hProcess );}
开发者ID:kannanbalu,项目名称:vTaskManager,代码行数:33,


示例5: printProcessInfo

void printProcessInfo(DWORD processID){    TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");       // Get a handle to the process.    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |                                   PROCESS_VM_READ,                                   FALSE, processID );    // Get the process name.    if (NULL != hProcess) {        HMODULE hMod;       // An array that receives the list of module handles.        DWORD cbNeeded;     //The number of bytes required to store all module handles in the Module array        if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded)) {            GetModuleBaseName(hProcess, hMod, szProcessName,                                sizeof(szProcessName)/sizeof(TCHAR));        }    }    // Print the process name and identifier of matching strings, ignoring case    _tprintf(TEXT("%s  (PID: %u)/n"), szProcessName, processID);        // Release the handle to the process.    CloseHandle( hProcess );}
开发者ID:0x4d52,项目名称:JavaScriptCore-X,代码行数:26,


示例6: GetProcessId

int GetProcessId(const char* file_name){	const int maximum_processes = 1024;	LPDWORD		process_ids;	LPTSTR		base_name;	HANDLE		process;	DWORD			i, processes, process_id = 0;	process_ids = (LPDWORD)HeapAlloc(GetProcessHeap(), 0, maximum_processes * sizeof(DWORD));	if(process_ids != NULL) {		if(EnumProcesses(process_ids, maximum_processes * sizeof(DWORD), &processes)) {			base_name = (LPTSTR)HeapAlloc(GetProcessHeap(), 0, MAX_PATH * sizeof(TCHAR));			if(base_name != NULL) {				processes = processes / sizeof(DWORD);				for(i = 0; i < processes; i++) {					process = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, process_ids[i]);					if(process != NULL) {						if(GetModuleBaseName(process, NULL, base_name, MAX_PATH) > 0) {							if(!lstrcmpi(base_name, file_name)) {								process_id = process_ids[i];								CloseHandle(process);								break;							}						}						CloseHandle(process);					}				}				HeapFree(GetProcessHeap(), 0, (LPVOID)base_name);			}		}		HeapFree(GetProcessHeap(), 0, (LPVOID)process_ids);	}	return process_id;}
开发者ID:CoolOppo,项目名称:dllinjector,代码行数:35,


示例7: startDaemonScan

void startDaemonScan(){	PVOID buffer = VirtualAlloc(NULL, 1024 * 1024, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);	while (1)	{		DWORD procIDsBuffer[MAX_PROCESSES];		DWORD size_returned;		EnumProcesses(procIDsBuffer, sizeof(procIDsBuffer), &size_returned);		int numProc = size_returned / sizeof(DWORD);		int i;		TCHAR strBuffer[MAX_PATH];		for (i = 0; i < numProc; i++)		{			DWORD curr_pid = (int)procIDsBuffer[i];			HANDLE Handle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, TRUE, curr_pid);			GetModuleBaseName(Handle, NULL, strBuffer, MAX_PATH);			if ((Handle) && isInFrobProcList(strBuffer))				reactToProcess(curr_pid, strBuffer);			CloseHandle(Handle);		}		updateList();	}}
开发者ID:LucaBongiorni,项目名称:ProcessHider,代码行数:25,


示例8: kill_process

void kill_process(string name){#ifdef _WIN32    CHAR szProcBuff[101];    DWORD pIDs[300], dwBytesReturned;    HANDLE hProcess;    INT i, procCount;    EnumProcesses(pIDs, sizeof(pIDs), &dwBytesReturned);    procCount = dwBytesReturned / sizeof(DWORD);    for (i = 0; i < procCount; i++)        if (pIDs[i] != 0)        {            hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_TERMINATE, 0, pIDs[i]);            GetModuleBaseName(hProcess, 0, szProcBuff, 100);            if (strcmp(szProcBuff, name.c_str()) == 0)                TerminateProcess(hProcess, EXIT_SUCCESS);            CloseHandle(hProcess);        }#elif __APPLE__        string command = "killall -kill " + name;        system(command.c_str());#endif    while (process_running(name.c_str()) > 0)        Sleep(1);}
开发者ID:roijo,项目名称:touch_plus_source_code,代码行数:31,


示例9: MatcProcessImageName

bool MatcProcessImageName(DWORD dwProcId,const TCHAR* tcImageName, bool bTestRunning=false){	if(NULL == tcImageName) return false;	HANDLE hProc = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, dwProcId );	bool bHasName= false;	bool bResult = false;	TCHAR tcModuleName[MAX_PATH];	if (NULL != hProc ) {		if(bTestRunning) {			DWORD ExitCode = 0;			if(GetExitCodeProcess(hProc, &ExitCode)) {				if (STILL_ACTIVE != ExitCode) return false;			} else {				if(WAIT_TIMEOUT != WaitForSingleObject(hProc, 0)) return false;			}		}		HMODULE hMod;		DWORD nRetCountMod = 0;		if(EnumProcessModules(hProc, &hMod, sizeof(hMod), &nRetCountMod)){			bHasName = (0 != GetModuleBaseName( hProc, hMod, tcModuleName, sizeof(tcModuleName)/sizeof(TCHAR) ) );		} else {			bHasName = (0 != GetProcessImageFileName(hProc, tcModuleName, sizeof(tcModuleName)/sizeof(TCHAR)) ) ;		}	}	if(bHasName) {		const TCHAR *pExeName = _tcsrchr(tcModuleName, TEXT('//'));			pExeName = (pExeName) ? ++pExeName : tcModuleName;		bResult = (0 == StrCmpI(pExeName,tcImageName));	}	CloseHandle(hProc);	return bResult;}
开发者ID:Kerogi,项目名称:swas,代码行数:32,


示例10: sizeof

bool CallStack::loadAllModules(){#ifdef WIN32    DWORD dwNeeded = 0;    if (!EnumProcessModules(hProcess, hModule, sizeof(hModule), &dwNeeded)) return false;    const int iCount = dwNeeded / sizeof(HMODULE);    for (int i = 0; i < iCount; ++i)    {        MODULEINFO info;        GetModuleInformation(hProcess, hModule[i], &info, sizeof(info));        GetModuleFileNameEx(hProcess, hModule[i], szImageName, iMax);        GetModuleBaseName(hProcess, hModule[i], szModuleName, iMax);#ifdef X64        SymLoadModule64(hProcess, hModule[i], szImageName, szModuleName, (DWORD64)info.lpBaseOfDll, info.SizeOfImage);#else        SymLoadModule(hProcess, hModule[i], szImageName, szModuleName, (DWORD)info.lpBaseOfDll, info.SizeOfImage);#endif    }#endif    return true;}
开发者ID:lwch,项目名称:QLanguage,代码行数:25,


示例11: process_name

	NSHARE::CText process_name(int processID)	{		TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");		// Get a handle to the process.		HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,				FALSE, processID);		// Get the process name.		if (INVALID_HANDLE_VALUE != hProcess)		{			HMODULE hMod;			DWORD cbNeeded;			//Given a handle to a process, this returns all the modules running within the process.			//The first module is the executable running the process,			//and subsequent handles describe DLLs loaded into the process.			if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))			{				//This function returns the short name for a module,				//typically the file name portion of the EXE or DLL				GetModuleBaseName(hProcess, hMod, szProcessName,						sizeof(szProcessName) / sizeof(TCHAR));			}		}		NSHARE::CText _text(szProcessName);		//close the process handle		CloseHandle(hProcess);		return _text;	}
开发者ID:CrazyLauren,项目名称:UDT,代码行数:30,


示例12: PrintProcessNameAndID

void PrintProcessNameAndID( DWORD processID ){  TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");  TCHAR szFilename[MAX_PATH] = TEXT("<unknown>");  HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |                                PROCESS_VM_READ,                                FALSE, processID);  if (hProcess != NULL)  {    HMODULE hModule;    DWORD cbNeeded;    if ( EnumProcessModules( hProcess, &hModule, sizeof(hModule), &cbNeeded) )    {      GetModuleBaseName( hProcess, hModule, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) );      GetModuleFileNameEx( hProcess, hModule, szFilename, sizeof(szFilename)/sizeof(TCHAR) );    }    CloseHandle( hProcess );  }  _tprintf( TEXT("  %16s %-60s (PID: %u)/n"), szProcessName, szFilename, processID );}
开发者ID:Grumbel,项目名称:processwatch,代码行数:25,


示例13: EnumProcesses

BOOL CSelectProcessDlg::OnInitDialog(void){	CDialog::OnInitDialog();	// initialization	DWORD cbNeeded;	EnumProcesses(procs, sizeof(procs), &cbNeeded);	numprocs = cbNeeded / sizeof(DWORD);	HANDLE hProcess;	HMODULE hMod;	wchar_t str[255];	for (int i = 0; i < numprocs; i++)	{		hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, procs[i]);		if (hProcess)		{			if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))			{				GetModuleBaseName(hProcess, hMod, str, 255);				m_cmbProcesses.AddString(str);				m_cmbProcesses.SetItemDataPtr(m_cmbProcesses.GetCount() - 1, (void*)&procs[i]);			}			CloseHandle(hProcess);		}	}	return TRUE;}
开发者ID:silvansky,项目名称:MemoryWatcher,代码行数:26,


示例14: TEXT

void ProcessFinder::PrintProcessNameAndID( DWORD processID ){    TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");    // Get a handle to the process.    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |                                   PROCESS_VM_READ,                                   FALSE, processID );    // Get the process name.    if (NULL != hProcess )    {        HMODULE hMod;        DWORD cbNeeded;        if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod),              &cbNeeded) )        {            GetModuleBaseName( hProcess, hMod, szProcessName,                                sizeof(szProcessName)/sizeof(TCHAR) );        }    }    // Print the process name and identifier.	std::map<std::string,int>::iterator it = processes.find(szProcessName);	if(it!=processes.end())	{		(*it).second++;	}	else	{		std::pair<std::string,int> elem;		elem.first = szProcessName;		elem.second = 1;		processes.insert(elem);	}    CloseHandle( hProcess );}
开发者ID:ayelkawar2,项目名称:HTML5basedCrossPlatformSniffer,代码行数:35,


示例15: GetDestinationFileName

std::wstring GetDestinationFileName(){	std::wstring baseName;	//get from file name of this executable	{		std::wstring moduleBaseName = GetModuleBaseName();		std::wstring moduleBaseNameLower = moduleBaseName;		for(int n = 0; n < (int)moduleBaseNameLower.length(); n++)			moduleBaseNameLower[n] = tolower(moduleBaseNameLower[n]);		int index = (int)moduleBaseNameLower.find(_T("_mono"));		if(index == -1)		{			MessageBox(0, _T("Invalid executable file name./n/nDemands file name in format /"{destination base file name}_mono[any characters].exe/"."), 				_T("Mono launcher error"), 				MB_OK | MB_ICONEXCLAMATION);			return _T("");		}		baseName = moduleBaseName.substr(0, index);	}	return baseName + _T(".exe");	//return GetModuleFullDirectory() + _T("//") + baseName + _T(".exe");}
开发者ID:DarrenHassan,项目名称:GDM4242-GroupD,代码行数:27,


示例16: test_exist_process

// Determine le nombre de processus du nom de "monProcess" en cours d'éxécutionint test_exist_process(const char* monProcess){	int nombreTrouves = 0;    DWORD processes[MAX_TAB], nb_processes;	char process_name[MAX_TAB];	int i;	HANDLE hprocess;	EnumProcesses(processes, sizeof(processes), &nb_processes);    //On teste tous les processus pour voir si leur nom correspond	for(i = 0  ; i < nb_processes / sizeof(DWORD) ; i++)  	{		hprocess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processes[i]);		//Prend le nom du processus et le met dans process_name		GetModuleBaseName(hprocess, NULL, process_name, sizeof(process_name));		CloseHandle(hprocess);		if(strcmp(process_name, monProcess) == 0)        {			nombreTrouves++;		}	}	return nombreTrouves;}
开发者ID:CokieForever,项目名称:XCopy,代码行数:26,


示例17: IsExeRunning

bool IsExeRunning(char* pName){	unsigned long aProcesses[1024], cbNeeded, cProcesses;	if(!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded))		return false;	unsigned long curPID = GetCurrentProcessId();	cProcesses = cbNeeded / sizeof(unsigned long);	for (unsigned int i = 0; i < cProcesses; i++)	{		if(aProcesses[i] == 0)			continue;		if (aProcesses[i] == curPID)			continue;		HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, aProcesses[i]);		if (!hProcess)			continue;		char buffer[50] = {0};		GetModuleBaseName(hProcess, 0, buffer, 50);		CloseHandle(hProcess);				if(strcmp(pName, buffer)==0)			return true;	}		return false;}
开发者ID:matthiaskrgr,项目名称:Desurium,代码行数:32,


示例18: ScanModules

bool ScanModules (DWORD processID) {	HMODULE hMods[1024];	HANDLE hProcess;	DWORD cbNeeded;	// Get a list of all the modules in this process.	hProcess=OpenProcess(		PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID	);	if (NULL==hProcess) return 0;	if (EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded)) {		for (unsigned int i=0; i<cbNeeded/sizeof(HMODULE) && i<1024; i++) {			TCHAR szModName[MAX_PATH];			if (GetModuleBaseName(				hProcess, hMods[i], szModName, sizeof(szModName)/sizeof(TCHAR)			)) {				if (0==_wcsicmp(szModName, _T("npswf32.dll")) ||					0==_wcsicmp(szModName, _T("flash9c.ocx"))				) {					CloseHandle(hProcess);					return 1;				}			}		}	}	CloseHandle(hProcess);	return 0;}
开发者ID:johan,项目名称:svn.arantius.com,代码行数:31,


示例19: GetModules

BOOL GetModules(HANDLE hProcess, char* Strings){  DWORD processid[1024], needed, processcount, modulecount;  HMODULE hModule[1024];  DWORD cb = 0;  BOOL ret = 1;  char path[MAX_PATH] = "", temp[MAX_PATH], basename[MAX_PATH];  EnumProcesses(processid, sizeof(processid), &needed);  processcount = 1;// needed/sizeof(DWORD);   for (DWORD i = 0; i< processcount; i++)           // 列举一下explorer下的模块  {    if (hProcess)    {          EnumProcessModules(hProcess, hModule, sizeof(hModule), &needed);      modulecount = needed / sizeof(DWORD);      //_itoa(processid[i], temp, 10);      for (DWORD j = 0; j < modulecount; j++)      {        GetModuleFileNameEx(hProcess, hModule[j], path, sizeof(path));        GetModuleBaseName(hProcess, hModule[j], basename, sizeof(basename));        GetShortPathName(path, path, 256);                if(!strcmp(basename, Strings))        {          ret = 1;        }        printf("%s/t/t%s/n", basename, path);      }    }  }return ret;}
开发者ID:zephyrer,项目名称:ab-mfc,代码行数:35,


示例20: TEXT

//lookup process name of process with processID//compare to processNameint Application_InternetExplorer::compareName(DWORD processID, std::wstring processName){	TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");    // Get a handle to the process.    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |                                   PROCESS_VM_READ,                                   FALSE, processID );    // Get the process name.    if (NULL != hProcess )    {        HMODULE hMod;        DWORD cbNeeded;        if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod),              &cbNeeded) )        {            GetModuleBaseName( hProcess, hMod, szProcessName,                                sizeof(szProcessName)/sizeof(TCHAR) );        }				CloseHandle( hProcess );    }	//_tprintf( TEXT("%s  (PID: %u)/n"), szProcessName, processID );	int comparison;	comparison = wcsicmp(szProcessName, processName.c_str());    	return comparison;}
开发者ID:340211173,项目名称:capture-hpc,代码行数:35,


示例21: printProcessName

VOID printProcessName(DWORD processID){    TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");    // Get a handle to the process.    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |                                   PROCESS_VM_READ,                                   FALSE,                                   processID );    // Get the process name.    if (NULL != hProcess )    {        HMODULE hMod;        DWORD cbNeeded;        if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )        {            GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) );        }    }    // Print the process name and identifier.    _tprintf( TEXT("%s  (PID: %u)/n"), szProcessName, (UINT)processID );    CloseHandle( hProcess );}
开发者ID:Budskii,项目名称:ulib-win,代码行数:29,


示例22: GetLsassHandle

/* retrieve a handle to lsass.exe */HANDLE GetLsassHandle() {	DWORD	dwProcessList[1024];	DWORD	dwProcessListSize;	HANDLE	hProcess;	char	szProcessName[10];	DWORD	dwCount;	/* enumerate all pids on the system */	if (EnumProcesses(dwProcessList, sizeof(dwProcessList), &dwProcessListSize)) {		/* only look in the first 256 process ids for lsass.exe */		if (dwProcessListSize > sizeof(dwProcessList))			dwProcessListSize = sizeof(dwProcessList);		/* iterate through all pids, retrieve the executable name, and match to lsass.exe */		for (dwCount = 0; dwCount < dwProcessListSize; dwCount++) {			if (hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessList[dwCount])) {				if (GetModuleBaseName(hProcess, NULL, szProcessName, sizeof(szProcessName))) {					if (strcmp(szProcessName, "lsass.exe") == 0) {						return hProcess;					}				}				CloseHandle(hProcess);			}		}	}	return 0;}
开发者ID:0265727207,项目名称:evandrix.github.com,代码行数:30,


示例23: Refresh

BOOL CSysinfo::GetProcessName (pid_t pid, char *dest, int sz){	// this code is deprecated. It was causing ACCESS_VIOLATIONS	// on Windows XP.#if 0	DWORD *block;	Refresh();	block = FindBlock (pid);	if (!block)	{		dest[0] = '/0';		return FALSE;	}	MakeAnsiString ((WORD*)(*(block+15)), dest);#endif	HANDLE Hnd;	if( ! (Hnd = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid))) {		return FALSE;	}	if ( ! GetModuleBaseName(Hnd, NULL, dest, sz) ) {		return FALSE;	}		return TRUE;}
开发者ID:AlainRoy,项目名称:htcondor,代码行数:27,


示例24: GetProcessIdByName

//Get the processID wantedDWORD GetProcessIdByName(DWORD processId, TCHAR* sProcessNameWanted){	TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");	//require information type, ?, processid	HANDLE hProcess = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId );	DWORD baseAddr=0;	MODULEINFO miModInfo = { 0 };	if(NULL!=hProcess)	{		HMODULE hMod;		DWORD cbReturned;		if(EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbReturned))		{			GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR)); 		}		if(_tcscmp(szProcessName,sProcessNameWanted) == 0)		{			GetModuleInformation(hProcess,hMod, &miModInfo, sizeof(miModInfo));			//_tprintf( TEXT("%s  (PID: %u) baseAddr: 0x%X/n"), szProcessName, processId,miModInfo.lpBaseOfDll);			CloseHandle(hProcess);			return processId;		}				CloseHandle(hProcess);		return 0;	}	return 0;}
开发者ID:gongz,项目名称:minesweeper,代码行数:28,


示例25: GetProcessName

voidGetProcessName(pid_t pid, char *ProcessName){    HANDLE hProcess;    strcpy(ProcessName, "unknown");#if HAVE_WIN32_PSAPI    /* Get a handle to the process. */    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION |	PROCESS_VM_READ,	FALSE, pid);    /* Get the process name. */    if (NULL != hProcess) {	HMODULE hMod;	DWORD cbNeeded;	if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))	    GetModuleBaseName(hProcess, hMod, ProcessName, sizeof(ProcessName));	else {	    CloseHandle(hProcess);	    return;	}    } else	return;    CloseHandle(hProcess);#endif}
开发者ID:arthurtumanyan,项目名称:squid-2.6-stable13-shaga,代码行数:27,


示例26: while

void *CHook::Run() {    char *szProcName="taskmgr.exe";    HANDLE hProcess;    DWORD aProcesses[1024], cbNeeded, cProcesses;    while(true) {        unsigned int i;        char szProcessName[MAX_PATH];        HMODULE hMod;        if(!EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded)) return false;        cProcesses=cbNeeded/sizeof(DWORD);        for(i=0; i<cProcesses; i++) {            strcpy(szProcessName, "unknown");            hProcess=OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, aProcesses[i]);            if(hProcess) {                if(EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded)) {                    GetModuleBaseName(hProcess, hMod, szProcessName, sizeof(szProcessName));                    if(!stricmp(szProcessName, szProcName)) {                        Hook(hProcess);                        Sleep(60000);                    }                }                CloseHandle(hProcess);            }        }        Sleep(250);    }    return NULL;}
开发者ID:thebhuwanesh,项目名称:Botnet,代码行数:29,


示例27: EnumProcesses

void CTKLauncherDlg::KillProcess(const char* process){	DWORD ids[1000];	HMODULE modules[1000];	DWORD count;	EnumProcesses(ids,sizeof(DWORD)*1000,&count);	count/=(sizeof(DWORD));	HANDLE handle;	for(int i=0;i<(int)count;i++)	{ //for each of the processes		DWORD nmod;		handle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,(DWORD)ids[i]);		EnumProcessModules(handle,modules,sizeof(HMODULE)*1000,&nmod);		nmod/=(sizeof(HMODULE));		if(nmod>0)		{			char name[100];			GetModuleBaseName(handle,modules[0],name,99);			if(stricmp(process,name)==0)			{				TerminateProcess(handle,1);				CloseHandle(handle);				break;			}		}		CloseHandle(handle);	}}
开发者ID:vdrive,项目名称:TrapperKeeper,代码行数:28,


示例28: processInject

/*This method performs the actual injection. It gets an appropriate thread id, loads the dll,gets the address of the inject method, then calls SetWindowsHookEx.*/int processInject(int pid){    DWORD processID = (DWORD)pid;    TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);    if (NULL != hProcess)    {        HMODULE hMod;        DWORD cbNeeded;        if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )        {            GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName)/sizeof(TCHAR) );        }    }    _tprintf( TEXT("Injecting into process %s PID: %u/n"), szProcessName, processID);    DWORD threadID = getThreadID(processID);    printf( "Using Thread ID %u/n", threadID);    if(threadID == (DWORD)0)    {        puts("Cannot find thread");        return -1;    }    HMODULE dll = LoadLibrary("inject.dll");    if(dll == NULL)    {        puts("Cannot find DLL");        return -1;    }    HOOKPROC addr = (HOOKPROC)GetProcAddress(dll, "Test");    if(addr == NULL)    {        puts("Cannot find the function");        return -1;    }    //Uses the threadID from getThreadID to inject into specific process	//HHOOK handle = SetWindowsHookEx(WH_MOUSE, addr, dll, threadID);    HHOOK handle = SetWindowsHookEx(WH_KEYBOARD, addr, dll, threadID);    if(handle == NULL)    {        puts("Couldn't hook the keyboard");    }    getchar();    getchar();    getchar();    UnhookWindowsHookEx(handle);    return 0;}
开发者ID:importcjj,项目名称:WinFetcher,代码行数:63,


示例29: stopProgram

BOOL stopProgram(const TCHAR *name){    char szProcessName[MAX_PATH] = "unknown";    // Get the list of process identifiers.    DWORD aProcesses[1024], cbNeeded, cProcesses;    unsigned int i = 0;    if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )        return FALSE;    // Calculate how many process identifiers were returned.    cProcesses = cbNeeded / sizeof(DWORD);    // Print the name and process identifier for each process.    for ( i = 0; i < cProcesses; i++ )    {        if( aProcesses[i] != 0 )        {            //            HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_TERMINATE,                FALSE, aProcesses[i]);            //            if ( NULL != hProcess )            {                HMODULE hMod;                DWORD cbNeeded;                if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))                {                    GetModuleBaseName(hProcess, hMod, szProcessName, sizeof(szProcessName));                }                else                {                    continue;                }            }            else            {                continue;            }            if (lstrcmpi(name, szProcessName) == 0)            {                ::TerminateProcess(hProcess,0);            }            else            {                ::CloseHandle(hProcess);            }        }    }    return FALSE;}
开发者ID:Budskii,项目名称:ulib-win,代码行数:59,


示例30: lstrlen

void CProcessWatchThread::UnLoadLibrary(){	DWORD aProcessIds[2048] = {0};	DWORD dwProcessCount = 0;	DWORD hDll = 0, dwWritten = 0;	LPVOID lpFun = NULL;	LPVOID lpBuf = NULL; 	HANDLE tThread = NULL; 	DWORD dwSize = lstrlen(strDLL) * sizeof(TCHAR) + sizeof(TCHAR); 	if (EnumProcesses(aProcessIds, 2048, &dwProcessCount))	{		for (DWORD i = 0; i < dwProcessCount; ++i)		{			HANDLE hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | SYNCHRONIZE, FALSE, aProcessIds[i]);			if (hProcess)			{				TCHAR cExeName[MAX_PATH] = {0};				if (GetModuleBaseName(hProcess, NULL, cExeName, MAX_PATH))					if (_tcsicmp(cExeName, strEXE) == 0)					{						do 						{							lpBuf = VirtualAllocEx(hProcess, NULL, dwSize, MEM_COMMIT, PAGE_READWRITE); 							WriteProcessMemory(hProcess, lpBuf, (LPVOID)strDLL.GetBuffer(strDLL.GetLength()), dwSize, &dwWritten);							if( sizeof(TCHAR) == 2 )								lpFun = GetProcAddress( GetModuleHandle(_T("kernel32.dll")), "GetModuleHandleW" );							else								lpFun = GetProcAddress( GetModuleHandle(_T("kernel32.dll")), "GetModuleHandleA" );							tThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)lpFun, lpBuf, 0, 0); 							if (tThread)							{								WaitForSingleObject(tThread, INFINITE); 								GetExitCodeThread(tThread, &hDll); 								VirtualFreeEx(hProcess, lpBuf, dwSize, MEM_DECOMMIT); 								CloseHandle(tThread); 								if( ! hDll ) { CloseHandle(hProcess); return; }								lpFun = GetProcAddress( GetModuleHandle(_T("kernel32.dll")), "FreeLibraryAndExitThread" ); 								if (lpFun)								{									tThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)lpFun, (LPVOID)hDll, 0, NULL); 									if (tThread)									{										WaitForSingleObject(tThread, INFINITE); 										CloseHandle(tThread); 									}								}							}													} while(hDll);					}								CloseHandle(hProcess);			}		}	}}
开发者ID:deathmemory,项目名称:hideProc,代码行数:58,



注:本文中的GetModuleBaseName函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetModuleFileNameA函数代码示例
C++ GetModule函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。