Что нового

Полный отвал WinAPI , нужна помощь знатоков

Статус
Закрыто для дальнейших ответов.
Сообщения
80
Репутация
-1
В системе частая проблема, появляется после смены пользователя.
По началу из за каталиста просто не отрисовывался рабочий стол, удалил его файлы принудительно, теперь при работе человеков проблеем не заметно. Видюха старая, так что новый драйвера не светят, венда 7 64.
Первый признак это отсутствие стилизации рамки с сообщением что открыть сеанс с другим пользователем, при перезагрузке системы.

В autoit проявляется так, коды из моих скриптов.

3 двойных клика в разные точки экрана.
Этот код не работает потому как клики внутри игры стали нерабочими, хотя на ЛКМ работает перетаскивание, но это значительно дольше. Этот кусок надо повторить больше 25раз.
Код:
For $formej = 98 To 350 Step 126
MouseClick("left",33,$formej,4,0)
Next
И свеженький. В окне несколько кнопок. Каждую нужно нажать и появится окно открытия файла с активной формой. В эту активную форму вставляется адрес и нажимается кнопка. Первая кнопка нажимается но дальше не работает, не вставляется адрес, и не наживается кнопка в новом окне. Срабатывает только первый ControlClick, скрипт просто не видит окно. AutoIt Window Info при этом параметры видит, но им то вручную тыкаю.
Код:
For $tb = 0 To 7
If $tlay[$tb] <> "" Then
ControlClick($Window, "", "[CLASS:TButton; INSTANCE:" & $tbutton[$tb] &"]")
Sleep($pause1)
WinActivate($open_dlg)
ClipPut($path & $pref & $tlay[$tb])
Send("+{ins}", 0)
Sleep($pause2)
ControlClick($open_dlg, "", "[CLASS:Button; INSTANCE:2]")	;открыть
EndIf
Next
ControlClick ($Window,"","[CLASS:TGroupBox; INSTANCE:3]","left",1,136,78)

Напишите хотябы как это проблема называется. ребутить комп каждый раз после нового пользователя как то долговато, учитывая что комп отбирают внезапно, а прог запущено не один десяток.

С другими прогами тоже появляются какието баги, но видимо давно не пользовался, да и автоматизация там ненужна
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Когда нажимаешь на кнопку и должно появится окно, то нужно: 1) нажать, 2) вместо sleep использовать WinWait, 3) после ожидания вызывать WinActivate - что бы сделать окно активным. 4) Вызывать WinWaitActive - что бы подождать - пока окно не сделается активным и уже только после этого вводить текст через send.

или вариант b) 1)нажать на кнопку, 2) подождать WinWait 3) Вставить текст в нужный контрол через ControlSetText или ControlSend.

Но тема твоя конечно вах, при чем тут API и твои проблемы с компом и то что у тебя его забирают?
 
Автор
W
Сообщения
80
Репутация
-1
Сейчас со Sleep занимает 4с. C WinActivate WinWait стало 3, в обратном порядке очень уж долго
Пробовал вставлять через ControlSend , строка в 80 знаков пишется больше секунды, при SendKeyDelay 0, через буфер быстрее.

Вот такая вот проблема с вендой, в eagle не могу поднять один из слоёв, хотя возможно помог бы его выбор, хотя никогда не понимал смысла этой функции, она скорее нерабочая.
В firefox тупо перестал копироваться адрес из адресной строки будто форма неактивна, при этом форма под видео ютуба "поделится" тоже перестала выделятся, но текст на странице выделялся, после перезапуска браузера заработало.
И вся эта лабуда после захода другим пользователем, и выходом. Если бы я просто сменил пользователя без выхода, было бы ещё глючнее.

Предположу что смена пользователя создаёт глюк видюхи который конфликтует дровами usb мыши.
И радионы фуфло, как разбогатею лет через 5 куплю только нвидию
 
Автор
W
Сообщения
80
Репутация
-1
Уже 2 раза была такая фигня. Скрипт перестаёт работать, вырубаю firefox, и опять всё работает. Видимо нехватает оперативки или проц не тянет, однако 16гиг маловато похоже.
Или может диск переполняется и начинает медленно работать, а скрипт зачемто тоже туда лезет
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Автор
W
Сообщения
80
Репутация
-1
Пробовал и 86 и 64, одинаково работает.
Памяти чего, свободной оперативки?
Попробую сделать скрин всего что можно.

Скрипт то пытается работать, но окно не становится активным хотя и поверх всех, когда нажимаю на окно то строка вставляется и на этом всё останавливается.

Вспомнил что у этих ОС есть такой баг как активное окно под окнами.
При установки программ, окно инсталятора становится не активным, хотя это единственное открытое окно.
В kmplayer если открыть окно настроек, то через время оно уходит под главное окно и программа блокируется если не открыть это окно клавишей, тогда оно выходит наверх. В XP этой проблемы небыло
 
Статус
Закрыто для дальнейших ответов.
Верх