Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 【タイトル】SetPriority
- 【 概要 】優先度セット
- 【 Type 】Lib(関数)
- 【 返値 】なし
- 【 Site 】http://pastebin.com/TnRd7dmC
- 【 更新日 】2020/02/23
- R│Realtime │リアルタイム│256
- H│High │高 │128
- A│AboveNormal│通常以上 │32768
- N│Normal │通常 │32
- B│BelowNormal│通常以下 │16384
- L│Low │低 │64
- ┌----┐
- │関数│
- └----┘
- SetPriority("ProcessName", "*") ;優先度セット
- SetPriority("ProcessName", "**") ;優先度セット(Active/NotActive)
- ■引数(Parameters)
- ProcessName│ : プロセス名
- mode│R : リアルタイム
- │H : 高
- │A : 通常以上
- │N : 通常
- │B : 通常以下
- │L : 低
- │** : Active/NotActive (e.g. NB:通常/通常以下)
- ┌----------┐
- │How to Use│
- └----------┘
- ■使用例
- */
- ;【SetPriority()】
- SetPriority(ProcessName, mode) {
- Process, Exist, %ProcessName%
- if ErrorLevel {
- ;Get
- PID := ErrorLevel
- hProcess := DllCall("OpenProcess", "UInt", 1024, "Int", 0, "UInt", PID) ;プロセスハンドル取得
- Priority := DllCall("GetPriorityClass", "Ptr", hProcess) ;優先度取得
- DllCall("CloseHandle", "Ptr", hProcess) ;プロセスハンドル解放
- ;Set
- For i, v in StrSplit(mode) {
- Switch v {
- Case "R": a%i% := 256 , b%i% := "Realtime"
- Case "H": a%i% := 128 , b%i% := "High"
- Case "A": a%i% := 32768, b%i% := "AboveNormal"
- Case "N": a%i% := 32 , b%i% := "Normal"
- Case "B": a%i% := 16384, b%i% := "BelowNormal"
- Case "L": a%i% := 64 , b%i% := "Low"
- }
- }
- if !a2 {
- IfNotEqual, Priority, %a1%, Process, Priority, %ProcessName%, %b1%
- } else {
- if WinActive("ahk_exe " ProcessName) {
- IfNotEqual, Priority, %a1%, Process, Priority, %ProcessName%, %b1%
- } else {
- IfNotEqual, Priority, %a2%, Process, Priority, %ProcessName%, %b2%
- }
- }
- ;Notes
- ;要Script Block ※if/else後のIf[Not]Equal
- }
- return
- }
- ; OpenProcess http://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess/
- ;GetPriorityClass http://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getpriorityclass/
- ; CloseHandle http://docs.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement