Вопрос по NtSetTimerResolution Topic is solved

Помощь в написании скриптов
vmech

Вопрос по NtSetTimerResolution  Topic is solved

25 Aug 2019, 13:01

Почему второй блок в хоткее выставляет максимальное разрешение таймера, но третий блок там же игнорирует минимальное разрешение (оно остаётся в том же значении, в какое его выставил второй блок)?

Code: Select all

#SingleInstance, Force
Gui, Add, ListBox, w300 h200 hwndhOutput
Gui, Show
VarSetCapacity(MinTimerRes, 8), VarSetCapacity(MaxTimerRes, 8), VarSetCapacity(CurTimerRes, 8), VarSetCapacity(DesTimerRes, 8)
Return

F12::
	GuiControl,, % hOutput, |
	DllCall("Ntdll\NtQueryTimerResolution", "Ptr", &MinTimerRes, "Ptr", &MaxTimerRes, "Ptr", &CurTimerRes)
	testText := "Min: " NumGet(MinTimerRes, "Int64") " Max: " NumGet(MaxTimerRes, "Int64") " Current: " NumGet(CurTimerRes, "Int64")
	GuiControl,, % hOutput, % testText
	
	NumPut(10000, DesTimerRes, "UInt64")
	CallStatus := DllCall("Ntdll\NtSetTimerResolution", "Int64", DesTimerRes, "Int", True, "Ptr", &CurTimerRes)
	testText := "Des: " NumGet(DesTimerRes, "Int64") " Current: " NumGet(CurTimerRes, "Int64") " Status: " (CallStatus ? "Failed" : "Success")
	GuiControl,, % hOutput, % testText
	
	CallStatus := DllCall("Ntdll\NtSetTimerResolution", "Int64", MinTimerRes, "Int", True, "Ptr", &CurTimerRes)
	testText := "Min: " NumGet(MinTimerRes, "Int64") " Current: " NumGet(CurTimerRes, "Int64") " Status: " (CallStatus ? "Failed" : "Success")
	GuiControl,, % hOutput, % testText
	
	DllCall("Ntdll\NtQueryTimerResolution", "Ptr", &MinTimerRes, "Ptr", &MaxTimerRes, "Ptr", &CurTimerRes)
	testText := "Min: " NumGet(MinTimerRes, "Int64") " Max: " NumGet(MaxTimerRes, "Int64") " Current: " NumGet(CurTimerRes, "Int64")
	GuiControl,, % hOutput, % testText

	Return
Более того, во втором блоке параметр True заменить на False, то будет видно, что третий блок так же выставляет разрешение таймера в максимальное значение. Я чего то не понимаю, или просто не знаю?

Return to “Помощь”

Who is online

Users browsing this forum: No registered users and 21 guests