La2Angel
25-03-2010, 11:13
Нужно сделать скрипт, через который менять приоритет процессам. Суть такая, в
GUICtrlCreateCombo ("Средний приоритет", 10,10)
GUICtrlSetData(-1,"Высокий|Средний приоритет","Низкий")
Выбираем например "Высокий приоритет" после чего скрипт считывает это GUICtrlRead, и исходя из прочитанного присваивает ему цифру соответствующую. 0 - низкий, 2 - Средний приоритет, 4 - Высокий.
Заранее спасибо!
madmasles
25-03-2010, 13:25
La2Angel,
У меня так получилось:#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <ListboxConstants.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
$proc = ""
$n = ""
$list = ProcessList (http://www.autoitscript.com/autoit3/docs/functions/ProcessList.htm)()
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $list[0][0] = 0 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, "", "Ошибка.")
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
_ArraySort($list)
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) UBound (http://www.autoitscript.com/autoit3/docs/functions/UBound.htm)($list) - 1
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) StringInStr (http://www.autoitscript.com/autoit3/docs/functions/StringInStr.htm)($list[$i][0], ".exe") <> 0 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$proc &= $list[$i][0] & "|"
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
$proc = StringTrimRight (http://www.autoitscript.com/autoit3/docs/functions/StringTrimRight.htm)($proc, 1)
$procFirst = StringLeft (http://www.autoitscript.com/autoit3/docs/functions/StringLeft.htm)($proc, StringInStr (http://www.autoitscript.com/autoit3/docs/functions/StringInStr.htm)($proc, "|", 1) - 1)
$proc = StringTrimLeft (http://www.autoitscript.com/autoit3/docs/functions/StringTrimLeft.htm)($proc, StringInStr (http://www.autoitscript.com/autoit3/docs/functions/StringInStr.htm)($proc, "|", 1))
$Form1 = GUICreate (http://www.autoitscript.com/autoit3/docs/functions/GUICreate.htm)("Приоритет процессов.", 260, 144, -1, -1)
$Label1 = GUICtrlCreateLabel (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateLabel.htm)("Выберите процесс и новый приоритет.", 5, 5, 250, 20, $SS_CENTER)
$Combo1 = GUICtrlCreateCombo (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateCombo.htm)($procFirst, 10, 25, 150, 30)
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)(-1, $proc, $procFirst)
$Combo2 = GUICtrlCreateCombo (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateCombo.htm)("Средний", 170, 25, 80, 30)
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)(-1, "Высокий|Низкий", "Средний")
$Label2 = GUICtrlCreateLabel (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateLabel.htm)("Выбранные процесс и новый приоритет.", 5, 60, 250, 20, $SS_CENTER)
$Input1 = GUICtrlCreateInput (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateInput.htm)("", 10, 80, 150, 20, BitOR (http://www.autoitscript.com/autoit3/docs/functions/BitOR.htm)($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
$Input2 = GUICtrlCreateInput (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateInput.htm)("", 170, 80, 80, 20, BitOR (http://www.autoitscript.com/autoit3/docs/functions/BitOR.htm)($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
$Button1 = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Изменить приоритет.", 50, 110, 160, 24)
GUISetState (http://www.autoitscript.com/autoit3/docs/functions/GUISetState.htm)(@SW_SHOW (http://www.autoitscript.com/autoit3/docs/macros.htm#@SW_SHOW))
While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$nMsg = GUIGetMsg (http://www.autoitscript.com/autoit3/docs/functions/GUIGetMsg.htm)()
Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nMsg
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $GUI_EVENT_CLOSE
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Combo1
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)($Input1, GUICtrlRead (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm)($Combo1, 1))
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Combo2
GUICtrlSetData (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlSetData.htm)($Input2, GUICtrlRead (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm)($Combo2, 1))
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $Button1
_MyFunc()
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) _MyFunc()
$myProc = GUICtrlRead (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm)($Input1, 1)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $myProc = "" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, "Приоритет процессов.", "Вы не выбрали процесс.")
Return (http://www.autoitscript.com/autoit3/docs/keywords.htm#Return)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
$myPrior = GUICtrlRead (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlRead.htm)($Input2, 1)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $myPrior = "" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, "Приоритет процессов.", "Вы не выбрали приоритет.")
Return (http://www.autoitscript.com/autoit3/docs/keywords.htm#Return)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $myPrior = "Высокий" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$n = 4
ElseIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#ElseIf) $myPrior = "Средний" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$n = 2
ElseIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#ElseIf) $myPrior = "Низкий" Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
$n = 0
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, "", $myProc & " - " & $n)
;ProcessSetPriority($myProc, $n)
EndFunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc) ;==>_MyFuncЧтобы менять приоритет, надо раскомментировать строку с ProcessSetPriority... и закомментировать строку с последним MsgBox.
Я что-то затрудняюсь понять, как связан заголовок темы с её содержимым? :dont-know
madmasles
25-03-2010, 15:11
Creat0R,
А нет никакой связи. :)
La2Angel
25-03-2010, 15:26
Вы немного не так поняли, но всеравно спасибо) кинули идею как сделать:) я просто делаю стандартный WIn+R но с функцией выбора приоритета.
Вы немного не так поняли »
madmasles, дал вам решение поставленной задачи, или он должен был угадать что вы собираетесь построить диалог-аналог Win+R?
Кстати по теме: _FileRun UDF (http://www.autoitscript.com/forum/index.php?showtopic=41612), Run Dialog Replacement (http://www.autoitscript.com/forum/index.php?showtopic=94777)
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.