找回密码
 加入
搜索
查看: 2233|回复: 4

[网络通信] 帮忙看下这个自定义函数是做什么的?有关数据结构![已解决]

[复制链接]
发表于 2011-5-30 11:45:23 | 显示全部楼层 |阅读模式
本帖最后由 love5173 于 2011-5-31 10:08 编辑

在一次学习别人代码的时候,能看懂的部分修改成自己想要的代码命令了,这个我看不懂是做什么的,又不敢照搬所以问问谁知道这个是做什么的
Func Mem()
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, _
        'int', False, 'int', @AutoItPID)
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall("kernel32.dll" , 'int', 'CloseHandle', 'int', $ai_Handle[0])
EndFunc
发表于 2011-5-30 11:58:02 | 显示全部楼层
;一段C++的代码
        //获取进程句柄
        HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,ProcessInfo.th32ProcessID);
        if(hProcess)
        {
            SetProcessWorkingSetSize(hProcess,-1,-1);
            //内存整理
            EmptyWorkingSet(hProcess);
            CloseHandle(hProcess);
        }
根据以上注释和API解释,lz贴的代码应该是压缩自身进程内存用的.
原理可能是把不活动的物理内存数据 弄到 虚拟内存.

评分

参与人数 1金钱 +20 收起 理由
love5173 + 20 谢谢

查看全部评分

发表于 2011-5-30 13:07:18 | 显示全部楼层

Func Mem()
        #cs        
                OpenProcess(in DWORD dwDesiredAccess,in BOOL bInheritHandle,in DWORD dwProcessId);打开进程并获取进程的名称
                dwDesiredAccess是访问进程的权限。
                bInheritHandle是句柄是否继承进程属性。
                dwProcessId是进程ID。
        #ce
        
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', @AutoItPID)
        ;PROCESS_ALL_ACCESS = (0x1F0FFF)
        
        ;BOOL WINAPI EmptyWorkingSet(in  HANDLE hProcess);强制释放没被使用的内存页面
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall("kernel32.dll", 'int', 'CloseHandle', 'int', $ai_Handle[0]);结束
EndFunc   ;==>Mem

评分

参与人数 1金钱 +20 收起 理由
love5173 + 20 谢谢

查看全部评分

 楼主| 发表于 2011-5-31 10:08:20 | 显示全部楼层
回复 3# 3mile
嗯,家里的技术员,说我的这个是修改网络指针的吓我一大跳,
起因是我在局域网安装了监控,但是总是出现网络被禁用的情况,这个函数我去掉以后还是有,后来把反复打开8899端口的函数关掉以后,情况就好转了。应该不是这个代码的问题
发表于 2011-5-31 10:18:45 | 显示全部楼层
清空工作集,释放进程的内存指针占用,不过据说是把内存转到页面文件
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-10 20:23 , Processed in 0.083669 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表