关于网友提出的“ 请问如何终止进程里的某个模块?”问题疑问,本网通过在网上对“ 请问如何终止进程里的某个模块?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请问如何终止进程里的某个模块?
描述: 请问各位高手,已经知道进程的所有模块,想将其中某个模块从进程中移除出去,应该怎样做?
知道的请给出点提示和方法。谢过!
解决方案1:
function FreeRemoteLibrary(PID:Thandle;hRemoteLibrary:HMODULE):integer;
var
dwRemoteThreadId:DWORD ;
hRemoteThread:Thandle;
nRet:Cardinal;
hNewHandle:Thandle;
pfnStartAddr: TFNThreadStartRoutine;
begin
hNewHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
pfnStartAddr := GetProcAddress(GetModuleHandle('kernel32.dll'), 'FreeLibrary');
hRemoteThread:=CreateRemoteThread(hNewHandle,nil,0,pfnStartAddr,Pointer(hRemoteLibrary),0,hRemoteThread);
WaitForSingleObject(hRemoteThread,INFINITE);
GetExitCodeThread(hRemoteThread,nRet);
result:=(nRet);
end;
以上介绍了“ 请问如何终止进程里的某个模块?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3585048.html