Orion9

|
Posted: Sun Mar 08, 2026 19:11 Post subject: |
|
|
AkulaBig
Это отсюда:
В общем, это была только наработка, поэтому к конфигурации я ее и не стал подключать.
sa
Похоже, мелкая щетина остается Особенно это заметно, если процессор изрядно нагрузить.
Скорее всего ничего не поделать. Даже если поставить Break после WinSetState(0, hWnd) окно все-равно может мелькать. Что удивительно, в 64-битной версии все нормально, даже если проц полностью загрузить. Добавил еще переменную для дебага.
 Hidden text | Code: | Func NagScreen()
Global gNagPush = 0, gNagCtrl = List()
If WincmdKeyExist() Then Return
Local ewp = Callback("EnumChilProc", "hwnd;lparam"), dbg = 1, i = 1, h = 0
Local hWnd, nTimeOut = 1500, nSleep = 0
While nTimeOut > 0
hWnd = WinFind(0, "TNASTYNAGSCREEN")
If hWnd > 0 Then
h += 1
If nSleep > 0 Then Sleep(nSleep)
WinSetState(0, hWnd)
#Break
DllCall("EnumChildWindows", "hwnd", hWnd, "ptr", ewp.Ptr, "lparam", 0)
If gNagPush = -1 Then Break
EndIf
Sleep(5)
nTimeOut -= 5
i += 1
Wend
If hWnd = 0 Then Return
If dbg And IsPressed(0x11) Then
ShowHint("find = " & h & auCRLF & "round = " & i & auCRLF & gNagCtrl.Text)
EndIf
Free(gNagCtrl, ewp)
Sleep(500)
If WinGetState(1, hWnd) Then WinSetState(1, hWnd)
EndFunc |
Сейчас используется Sleep(5), но Sleep(1) тоже не помогает. Просто происходит задержка, которая не зависит от Autorun. Код ведь не параллельно выполняется. |
|