Cambiar prioridad a un proceso

Iniciado por rapbyone, 25 Julio 2015, 23:32 PM

0 Miembros y 2 Visitantes están viendo este tema.

rapbyone

Estimado, tengo el siguiente codigo que cambia la prioridad de mi aplicación a tiempo real:

Código (vb) [Seleccionar]
Const THREAD_BASE_PRIORITY_IDLE = -15
Const THREAD_BASE_PRIORITY_LOWRT = 15
Const THREAD_BASE_PRIORITY_MIN = -2
Const THREAD_BASE_PRIORITY_MAX = 2
Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
Const THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST + 1)
Const THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST - 1)
Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
Const THREAD_PRIORITY_NORMAL = 0
Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT
Const HIGH_PRIORITY_CLASS = &H80
Const IDLE_PRIORITY_CLASS = &H40
Const NORMAL_PRIORITY_CLASS = &H20
Const REALTIME_PRIORITY_CLASS = &H100
Private Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
Private Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As Long
Private Declare Function GetPriorityClass Lib "kernel32" (ByVal hProcess As Long) As Long
Private Declare Function GetCurrentThread Lib "kernel32" () As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long


Private Sub Form_Load()
Dim hThread As Long, hProcess As Long
hThread = GetCurrentThread
hProcess = GetCurrentProcess
SetThreadPriority hThread, THREAD_PRIORITY_HIGHEST
SetPriorityClass hProcess, REALTIME_PRIORITY_CLASS
End Sub


pero no logro hacerlo con otros procesos, por ejemplo poder cambiar la prioridad del bloc de notas.

Alguien tiene alguna idea de como tendría que hacerlo
muchas gracias amigos

tincopasan

basicamente tendrías que crear el proceso del bloc de notas con CreateProcess y a partir de ahí asignarle la prioridad que buscas, para después abrirlo con OpenProcess

Mad Antrax

Us auna API que te devuelva el handle del proceso (a partir de su PIC o WIndowText, por ejemplo) y a partir de ahí podrás llamar a la API para cambiar su prioridad.
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

rapbyone

Cita de: tincopasan en 26 Julio 2015, 06:32 AM
basicamente tendrías que crear el proceso del bloc de notas con CreateProcess y a partir de ahí asignarle la prioridad que buscas, para después abrirlo con OpenProcess

Cita de: Mad Antrax en 26 Julio 2015, 18:59 PM
Us auna API que te devuelva el handle del proceso (a partir de su PIC o WIndowText, por ejemplo) y a partir de ahí podrás llamar a la API para cambiar su prioridad.

Amigos gracias por responder, la verdad es que tendré que leer bastante, por que con mis conocimientos dudo que logre entender como hacer lo que me sugieren. estoy recién comenzando con vb6.

¿Algo que pueda leer o buscar?

Gracias amigos

BlackZeroX

http://allapi.mentalis.org/agnet/apiguide.shtml

http://allapi.mentalis.org/apilist/OpenProcess.shtml

http://allapi.mentalis.org/apilist/FindWindow.shtml

http://allapi.mentalis.org/apilist/F307CAA2589BD8227FE5D6D4A27F5BDA.html

Intenta hacer una meza entre esos codigos y veras... no te lo dejo por que si no jamas aprederas a combinar funcionalidades :), solo ve lo que te piden y ve que API te lo retorna y asi constantemente o que datos debes ingresar desde codigo...

Dulces Lunas1¡.
The Dark Shadow is my passion.