1

Тема: AHK: Завершена работа программы после гибернации.

После входа в систему после гибернации, приложение AHK прекращает свою работу. В чем искать проблему?
Репозиторий: https://github.com/Oliver-Patterson/system-monitor.

2 (изменено: Phoenixxx_Czar, 2021-12-30 21:22:04)

Re: AHK: Завершена работа программы после гибернации.

Сейчас при запуске вылезло такое:

---------------------------
system-monitor.ahk
---------------------------
Critical Error in #include file "D:\AutoHotKey\library\Class\NvAPI.ahk":
     Invalid memory read/write.

	Line#
	642: if !(NvStatus := DllCall(GPU_GetCurrentPstate, "Ptr", hPhysicalGpu, "Int*", pCurrentPstate, "CDECL"))  
	643: Return,pCurrentPstate
	644: Return,NvAPI.GetErrorMessage(NvStatus)
	645: }
	650: {
	655: if !(hPhysicalGpu)  
	656: hPhysicalGpu := NvAPI.EnumPhysicalGPUs()[1]
--->	657: VarSetCapacity(pDynamicPstatesInfoEx, NV_GPU_DYNAMIC_PSTATES_INFO_EX, 0), NumPut(NV_GPU_DYNAMIC_PSTATES_INFO_EX | 0x10000, pDynamicPstatesInfoEx, 0, "UInt")  
	658: if !(NvStatus := DllCall(GPU_GetDynamicPstatesInfoEx, "Ptr", hPhysicalGpu, "Ptr", &pDynamicPstatesInfoEx, "CDECL"))  
	659: {
	660: PSTATES := {}
	661: PSTATES.version := NumGet(pDynamicPstatesInfoEx, 0, "UInt")  
	662: PSTATES.Enabled := NumGet(pDynamicPstatesInfoEx, 4, "UInt") & 0x1  
	663: OffSet := 8
	664: For Index,Domain in NV_GPU_UTILIZATION_DOMAIN_ID

The program is now unstable and will exit.
---------------------------
OK   
---------------------------

... затем прекращена работа программы.

Если получение данных в try ... catch запихнуть, поможет?

3

Re: AHK: Завершена работа программы после гибернации.

Тоже сталкивался с проблемами - основной скрипт на 248 Кб. вылетал после спячки компа а второй где только перехват клавиш оставался работать. Причину не выявил, но после каких-то оптимизаций глюк пропал.
В этом скрипте используется куча разных перехватов клавиш в конкретных окнах - '#IfWinActive'. По-моему когда удалил устаревшие к старым играм - пропал глюк.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101