求批处理或VBS监控指定进程的内存使用量?
就是这个的我想要对某个指定进程进程一些操作,触发条件是要它的内存使用量超过预设值,然后在做一些其他的操作,主要就是批处理或VBS监控指定进程的内存使用量如果我表达的不太清...
就是这个的我想要对某个指定进程进程一些操作,触发条件是要它的内存使用量超过预设值,然后在做一些其他的操作,主要就是批处理或VBS监控指定进程的内存使用量
如果我表达的不太清楚,请在本问题中提出来,谢谢 展开
如果我表达的不太清楚,请在本问题中提出来,谢谢 展开
2个回答
展开全部
'全程手打,合用的话请笑纳
'代码开始
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'以ie为例
Dim memory
Dim targetMemory
targetMemory = 1000 ' 设定内存判断预设值
Set wmiService = GetObject("winmgmts:\\.\root\cimv2")
DO
Set wmiObjects = wmiService.ExecQuery("SELECT * FROM Win32_process where caption='iexplore.exe'")
if wmiObjects.count = 0 then
msgbox "process not exist"
exit do
' process not exist ,do nothing here
else
For Each wmiObject In wmiObjects
memory = wmiObject.workingsetsize/1024
' do something here if use memory more than 1000KB
if memory > targetMemory then
' 在这里可以加上你想做的事情
msgbox wmiObject.name&" 使用的内存: "& memory &"KB" & chr(10)
strASK = msgbox("是否要继续监视?选择no 退出,选择yes继续监视", vbYesNo)
if strASK = vbno Then
WScript.Quit
End if
end if
next
End if
Loop
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'代码结束
'代码开始
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'以ie为例
Dim memory
Dim targetMemory
targetMemory = 1000 ' 设定内存判断预设值
Set wmiService = GetObject("winmgmts:\\.\root\cimv2")
DO
Set wmiObjects = wmiService.ExecQuery("SELECT * FROM Win32_process where caption='iexplore.exe'")
if wmiObjects.count = 0 then
msgbox "process not exist"
exit do
' process not exist ,do nothing here
else
For Each wmiObject In wmiObjects
memory = wmiObject.workingsetsize/1024
' do something here if use memory more than 1000KB
if memory > targetMemory then
' 在这里可以加上你想做的事情
msgbox wmiObject.name&" 使用的内存: "& memory &"KB" & chr(10)
strASK = msgbox("是否要继续监视?选择no 退出,选择yes继续监视", vbYesNo)
if strASK = vbno Then
WScript.Quit
End if
end if
next
End if
Loop
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'代码结束
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用VB编写个EXE吧,VBS或批处理不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询