解决vb程序CPU占用过高的有关问题,这个代码有句看不懂,求高人帮看下,多谢

解决vb程序CPU占用过高的问题,这个代码有句看不懂,求高人帮看下,谢谢!
解决vb程序CPU占用过高的问题,这个代码有句看不懂,求高人帮看下,谢谢!
看到个人家的方法,但是还没弄清楚怎么调用.
原文全文:http://www.yeshack.com/t_9189_1_1.shtml
实质代码摘录:
......
交替使用NtSuspendProcess和 NtResumeProcess来限制单个进程的 CPU 占用率。首先,一旦进程被暂停,自然就不能占用cPU 了,其次,暂停进程只会拖慢进程工作,不会扰乱进程工作。我随后就编码测试,结果证明,这个看似脑残的想法竟然十分有效。

解决方案

整个解决方案的流程很简单,只有两步:  
1.获得要限制CPU 占用率的进程的句柄;
2.每隔 50ms,依次调用 NtSuspendProcess 和 NtResumeProcess。比如第 50ms 调用了NtSuspendProcess,第100ms就调用NtResumeProcess。第150ms调用NtSuspendProcess,第 200ms就调用NtResumeProcess,如此类推下去。

程序代码如下:

VB code
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess
As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function NtSuspendProcess Lib "ntdll.dll" (ByVal hProc As Long)
As Long
Private Declare Function NtResumeProcess Lib "ntdll.dll" (ByVal hProc As Long) As Long
Private hProc As Long
Private Sub LimitCPU_Click()
  hProc = OpenProcess(&H1F0FFF, 0, CLng(Text1.Text))
  WorkingTimer.Interval = 50 '时间间隔为50ms
  WorkingTimer.Enabled = True '开始限制CPU占用率
End Sub
Private Sub WorkingTimer_Timer()
Static x As Long
If x = 0 Then
  x = 1
  NtSuspendProcess hProc

Else
  x = 0
  NtResumeProcess hProc
EndIf
End Sub


他这个OpenProcess函数里Text1.Text里面要填的是不是程序名还是什么呢?
我放到form_load里面,想一开始就限制程序自身cpu占用.不对:
Private Sub form_load()
hProc = OpenProcess(&H1F0FFF, 0, CLng(app.exename & ".exe"))
WorkingTimer.Interval = 50 '时间间隔为50ms
WorkingTimer.Enabled = True '开始限制CPU占用率
end sub


------解决方案--------------------
枚举运行中的所有进程,并不难。这里有一个VB6例子:
枚举运行中的EXE路径与PID :http://topic.csdn.net/u/20071205/17/94bdb55a-751d-4670-8774-0bda39e07942.html
EXE程序后面第一个数字就是PID。