La2Angel,
У меня так получилось:
Код:
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ListboxConstants.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
$proc = ""
$n = ""
$list = ProcessList()
If $list[0][0] = 0 Then
MsgBox(0, "", "Ошибка.")
Exit
EndIf
_ArraySort($list)
For $i = 1 To UBound($list) - 1
If StringInStr($list[$i][0], ".exe") <> 0 Then
$proc &= $list[$i][0] & "|"
EndIf
Next
$proc = StringTrimRight($proc, 1)
$procFirst = StringLeft($proc, StringInStr($proc, "|", 1) - 1)
$proc = StringTrimLeft($proc, StringInStr($proc, "|", 1))
$Form1 = GUICreate("Приоритет процессов.", 260, 144, -1, -1)
$Label1 = GUICtrlCreateLabel("Выберите процесс и новый приоритет.", 5, 5, 250, 20, $SS_CENTER)
$Combo1 = GUICtrlCreateCombo($procFirst, 10, 25, 150, 30)
GUICtrlSetData(-1, $proc, $procFirst)
$Combo2 = GUICtrlCreateCombo("Средний", 170, 25, 80, 30)
GUICtrlSetData(-1, "Высокий|Низкий", "Средний")
$Label2 = GUICtrlCreateLabel("Выбранные процесс и новый приоритет.", 5, 60, 250, 20, $SS_CENTER)
$Input1 = GUICtrlCreateInput("", 10, 80, 150, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
$Input2 = GUICtrlCreateInput("", 170, 80, 80, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
$Button1 = GUICtrlCreateButton("Изменить приоритет.", 50, 110, 160, 24)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Combo1
GUICtrlSetData($Input1, GUICtrlRead($Combo1, 1))
Case $Combo2
GUICtrlSetData($Input2, GUICtrlRead($Combo2, 1))
Case $Button1
_MyFunc()
EndSwitch
WEnd
Func _MyFunc()
$myProc = GUICtrlRead($Input1, 1)
If $myProc = "" Then
MsgBox(0, "Приоритет процессов.", "Вы не выбрали процесс.")
Return
EndIf
$myPrior = GUICtrlRead($Input2, 1)
If $myPrior = "" Then
MsgBox(0, "Приоритет процессов.", "Вы не выбрали приоритет.")
Return
EndIf
If $myPrior = "Высокий" Then
$n = 4
ElseIf $myPrior = "Средний" Then
$n = 2
ElseIf $myPrior = "Низкий" Then
$n = 0
EndIf
MsgBox(0, "", $myProc & " - " & $n)
;ProcessSetPriority($myProc, $n)
EndFunc ;==>_MyFunc
Чтобы менять приоритет, надо раскомментировать строку с ProcessSetPriority... и закомментировать строку с последним MsgBox.
|