Что нового

[Мышь, клавиатура] Изменение вида курсора при запуске процессов

AekMob

Новичок
Сообщения
12
Репутация
1
Есть скрипт, который часто выполняется через функцию "Run" другого скрипта. Соответственно, при каждом запуске возле указателя мыши появляется колесо загрузки. Как бы подавить появление этого колеса?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
AekMob [?]
подавить появление этого колеса
Подобный курсор появляется, когда система не успевает отвечать на запросы приложений вследствие сильной загрузки процессора или жёсткого диска (или обоих). Скорее всего проблема в самом скрипте: или он загружает процессор/диск и не даёт работать другим приложениям, или вы его запускаете при уже загруженной системе и скрипт пытается работать с диском или производить "тяжёлые" вычисления. Например, при загруженном диске (копирование файлов, закачка торрента, дефрагментация и т.д.) такой курсор появляется даже при вызове контекстного меню рабочего стола, не говоря уже о запуске проводника или браузера.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
AekMob [?]
Как бы подавить появление этого колеса?
Запускать процессы функцией _WinAPI_CreateProcess(), используя в STARTUPINFO structure dwFlags = STARTF_FORCEOFFFEEDBACK.


Добавлено:
Сообщение автоматически объединено:

Или так попробовать.
Код:
#include <WinAPIEx.au3>

Global $hCursor

$hCursor = _WinAPI_CopyCursor(_WinAPI_LoadCursor(0, 32650))
_WinAPI_SetSystemCursor(_WinAPI_LoadCursor(0, 32512), 32650, 1)
OnAutoItExitRegister('_OnExit')
;~ нагружаем процессор по полной программе :)
For $i = 1 To 200
	Run('notepad.exe')
	Sleep(10)
Next
While ProcessExists('notepad.exe')
	ProcessClose('notepad.exe')
WEnd

Func _OnExit()
	_WinAPI_SetSystemCursor($hCursor, 32650)
EndFunc   ;==>_OnExit
 
Верх