卸载其它进程的DLL

卸载其它进程的DLL
 1 typedef ULONG (WINAPI  * PFNNtUnmapViewOfSection)( IN HANDLE ProcessHandle,IN PVOID BaseAddress );
 2
 3 BOOL UnmapViewOfModule ( DWORD dwProcessId, LPVOID lpBaseAddr )
 4 {
 5    HMODULE hModule = GetModuleHandle ( L"ntdll.dll" ) ;
 6    if ( hModule == NULL )
 7        hModule = LoadLibrary ( L"ntdll.dll" ) ;
 8
 9    PFNNtUnmapViewOfSection pfnNtUnmapViewOfSection = (PFNNtUnmapViewOfSection)GetProcAddress ( hModule, "NtUnmapViewOfSection" ) ;
10    
11    HANDLE hProcess = OpenProcess ( PROCESS_ALL_ACCESS, TRUE, dwProcessId ) ;
12    ULONG    ret = pfnNtUnmapViewOfSection ( hProcess, lpBaseAddr ) ;
13    CloseHandle ( hProcess ) ;
14    return ret ? FALSE : TRUE;
15}

16
17

你可能感兴趣的:(卸载其它进程的DLL)