level 1
MengXP
楼主
dwing说过,SetProcessWorkingSetSize,-1,-1 只是将空闲物理内存整理到虚拟内存,不是这样的,我来证实这个命题是错误的。运行这个程序前后,所有进程虚拟内存使用量没变!.386.ModelFlat,StdCallOptionCasemap:NoneIncludeWindows.incIncludeKernel32.incIncludeShell32.incIncludeUser32.incIncludeAdvapi32.incIncludeLib User32.libIncludeLib Kernel32.libIncludeLib Shell32.libIncludeLib Advapi32.lib.Data.Data?tkpTOKEN_PRIVILEGES<>sdnvLUID <>hTokendd ?.CodeEnableDebugPrivProcinvokeGetCurrentProcessinvokeOpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,addr hTokeninvokeLookupPrivilegeValue,0,CTEXT("SeDebugPrivilege"),addr sdnvmovtkp.PrivilegeCount,1m2mtkp.Privileges.Luid.LowPart,sdnv.LowPartm2mtkp.Privileges.Luid.HighPart,sdnv.HighPartmovtkp.Privileges.Attributes,SE_PRIVILEGE_ENABLEDinvokeAdjustTokenPrivileges,hToken,FALSE,addr tkp,sizeof tkp,0,0invokeCloseHandle,hTokenretEnableDebugPrivEndPDefMemoryProcLocal@stProcess:PROCESSENTRY32Local@hSnapShotinvokeRtlZeroMemory,addr @stProcess,sizeof @[email protected],sizeof @stProcessinvokeCreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,0mov@hSnapShot,eaxinvokeProcess32First,@hSnapShot,addr @stProcess.WhileeaxinvokeOpenProcess,PROCESS_ALL_ACCESS,FALSE,@stProcess.th32ProcessID.ifeaxinvokeSetProcessWorkingSetSize,eax,-1,-1.endifinvokeProcess32Next,@hSnapShot,addr @stProcess.EndWinvokeCloseHandle,@hSnapShotretDefMemoryEndPStart:invokeEnableDebugPrivinvokeDefMemoryinvokeExitProcess,0EndStart
2006年10月02日 08点10分
1