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

[网络通信] 关于mssqlserver 内存的问题![已经解决]

  [复制链接]
发表于 2011-7-9 19:06:06 | 显示全部楼层 |阅读模式
本帖最后由 wa18239 于 2011-7-30 11:09 编辑

以下是测试,但都运行出错。
#Include <WinAPIEx.au3>
Global $pid=ProcessExists ( "sqlservr.exe" )        ;//获取PID码
MsgBox(0, "SQL进程 PID 为", $pid )
If $pid = -1 Then Exit
Global $Data = _WinAPI_GetProcessMemoryInfo($pid)
Local $Data2 = ProcessGetStats($pid)
MsgBox(0, "SQL内存使用量为","_WinAPI_GetProcessMemoryInfo为:" & $Data[2]/1024 & " K" )
MsgBox(0, "SQL内存使用量为", "ProcessGetStats为:"&$Data2[0]/1024 & "K")
是不是sqlservr.exe 不能读内存使用量吗?改成  QQ.exe 又可以读QQ的内存使用量。
怎么提高权限呢。。。
 楼主| 发表于 2011-7-11 08:24:46 | 显示全部楼层
自己的帖子自己顶
发表于 2011-7-12 14:52:19 | 显示全部楼层
那我也帮你顶一下吧
发表于 2011-7-14 23:12:23 | 显示全部楼层
也帮顶起来,呵呵
 楼主| 发表于 2011-7-30 11:01:26 | 显示全部楼层
#Include <WinAPIEx.au3>
#include <lsasecur.au3>
 
$hToken = _SeImpersonateSystemContext()
MsgBox(0, "@UserName=" & @UserName, _SeFormatMsg("_SeImpersonateSystemContext"))
 

_main()

 
_SeCloseHandle($hToken)
_SeRevertToSelf()
MsgBox(0, "@UserName=" & @UserName, _SeFormatMsg("_SeRevertToSelf"))

Func _main()
        Local $pid=ProcessExists ( "sqlservr.exe" )        ;//获取PID码
MsgBox(0, "SQL进程 PID 为", $pid )
If $pid = -1 Then Exit

 $Data1 = _WinAPI_GetProcessMemoryInfo($pid)
 If $Data1 = 0 Then
         MsgBox(0,"error1",$Data1&@error)
         endif
$Data2 = ProcessGetStats($pid)
If $Data2 = 0 Then
         MsgBox(0,"error2",$Data2&@error)
         endif

If IsArray($Data1) Then
    MsgBox(0, "SQL内存使用量为","_WinAPI_GetProcessMemoryInfo为:" &$Data1[2]/1024 & " K" )
        Else
           MsgBox(0,"error","不是数组")
EndIf
If IsArray($Data2) Then
   MsgBox(0, "SQL内存使用量为", "ProcessGetStats为:"&$Data2[0]/1024 & "K")
   Else
           MsgBox(0,"error","不是数组2")
EndIf
EndFunc
最后用P大的 lsasecur 解决,在此感谢P大
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-10 23:39 , Processed in 0.083326 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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