Private Declare Function SetPriorityClass Lib "kernel32 " (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
Const NORMAL_PRIORITY_CLASS = &H20 '正常优先级
Const IDLE_PRIORITY_CLASS = &H40 '优先级
Const HIGH_PRIORITY_CLASS = &H80 '高优先级
Const REALTIME_PRIORITY_CLASS = &H100 '实时优先级
Private Sub Command1_Click()
Dim ret As Long, hnd As Long
hnd = GetCurrentProcessId()
txtPassword.Text = hnd
ret = SetPriorityClass(hnd, HIGH_PRIORITY_CLASS)
Text3.Text = ret
End Sub这ret里返回的总是0,在任务管理器里面查看进程也没有被改变优先级,不知道哪里出错了。
2楼兄弟的方法不能用,我是在2000和xp里面都要用的。
Const NORMAL_PRIORITY_CLASS = &H20 '正常优先级
Const IDLE_PRIORITY_CLASS = &H40 '优先级
Const HIGH_PRIORITY_CLASS = &H80 '高优先级
Const REALTIME_PRIORITY_CLASS = &H100 '实时优先级
Private Sub Command1_Click()
Dim ret As Long, hnd As Long
hnd = GetCurrentProcessId()
txtPassword.Text = hnd
ret = SetPriorityClass(hnd, HIGH_PRIORITY_CLASS)
Text3.Text = ret
End Sub这ret里返回的总是0,在任务管理器里面查看进程也没有被改变优先级,不知道哪里出错了。
2楼兄弟的方法不能用,我是在2000和xp里面都要用的。
解决方案 »
- 请问有软件可以反编译VB6的程序吗?怕怕啊!
- 寻《Visual Basic与分布式监控系统RS232/485》或《Visual Basic与串口通讯》电子版!
- 这个在VB中能不能实现????
- 怎么在vb里面用最快的方法实现:动态数组的所有元素清零?
- 专业级的商业源码
- 奇怪的oracle数据库问题,再现等待
- 在vb中不用api,使用多线程!up有分
- vb中 在label1中显示连接到http:www.1111.com代码是?
- 怎样让组合框里显示的项目根据不同的要求显示不同的颜色?
- 媒体转换:请给我mpg格式vcd转换为realplayer(*.rm)的控件
- webbrowser的问题,来看看啊
- 非常容易的问题,怎么调用“打开文件夹”
连这个也用不成功,奇怪。
txtPassword.Text = hnd
ret = SetPriorityClass(hnd, HIGH_PRIORITY_CLASS)你的程序中hnd为进程id,而SetPriorityClass要求它的第一个参数为进程句柄,修改为:
hnd = GetCurrentProcess()
txtPassword.Text = hnd
ret = SetPriorityClass(hnd, HIGH_PRIORITY_CLASS)
SetPriorityClass的说明:
【VB声明】
Private Declare Function SetPriorityClass Lib "kernel32" Alias "SetPriorityClass" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long【说明】
设置一个进程的优先级别 【返回值】
Long,进程的优先级,零表示失败。会设置GetLastError 【参数表】
hProcess ------- Long,指定一个进程句柄 dwPriorityClass - Long,指定一个新优先级类的一个常数,请参考CreateProcess函数
Const IDLE_PRIORITY_CLASS = &H40 '优先级
Const HIGH_PRIORITY_CLASS = &H80 '高优先级
Const REALTIME_PRIORITY_CLASS = &H100 '实时优先级
Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
Private Declare Function GetPriorityClass Lib "kernel32" (ByVal hProcess As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Sub Form_Load()
Dim hProcess As Long
hProcess = GetCurrentProcess
Dim ret As Long
ret = SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS)
MsgBox ret
MsgBox "Current Priority Class:" + Str$(GetPriorityClass(hProcess))
End Sub
用OpenProcess这个api函数即可