Для случая таких классов, как верно было сказано, можно использовать регулярные выражения. Для случая выше должно быть примерно так:
Код: Выделить всё
WinList("[REGEXPCLASS:Afx:400000:8:10003:0:\H+]")
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Код: Выделить всё
WinList("[REGEXPCLASS:Afx:400000:8:10003:0:\H+]")
да о нёмSamwatas писал(а):Если речь идет о скрипте АвтоИТ
действительно это не ТСD1P писал(а):Это вобще на имя класса не похоже, тем более на имя класса любого окна TC
пробовал, не вышлоМоторокер писал(а):многие программы позволяют задать нужную программу не только по классу или заголовку, но и по имени файла
к сожалению не работаетLoopback писал(а):Для случая выше должно быть примерно так:
Я его на кнопку не вешал. У меня он в автозагрузке. Параметры не нужны.Flasher писал(а):Не хочет работать. В параметрах ничего писать не надо?
Кнопка такая:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\AutoIt\AutoIt3.exe %COMMANDER_PATH%\Scripts\AutoIt\Scripts\Зафиксить_Панель_задач.au3
Забудем пока о панели задач. Вопрос был только об активации окна TC. При нахождении в окне какой-либо программы (не TC), если загнать мышку в правый нижний угол экрана, окно TC активируется или нет?Flasher писал(а):Нет, ничего такого не происходит при снятом флаге "Автоматически скрывать панель задач" и показе его поверх всех окон.
Да, если в самый угол подвинуть. Но это же совсем не то, о чём я писал. Мне-то нужно, чтобы любая программа была поверх панели задач в полностью развёрнутом виде. А у меня не ТС, не любая другая так не выглядит.sa писал(а):ри нахождении в окне какой-либо программы (не TC), если загнать мышку в правый нижний угол экрана, окно TC активируется или нет?
Можно поиграться размерами "мышиной норы" по X:Flasher писал(а):неудобно ловить область для появления Панели задач
Код: Выделить всё
If ($mpos[0] >= @DesktopWidth - 60) And ($mpos[0] < @DesktopWidth - 10)
Код: Выделить всё
While 1
GUIGetMsg() ; разгрузка процессора
$mpos = MouseGetPos()
If ($mpos[0] <= @DesktopWidth - 1023) And ($mpos[1] < @DesktopHeight - 760) Then
$list = WinList("[CLASS:TTOTAL_CMD]")
If $list[0][0] > 0 Then WinActivate ($list[1][1])
EndIf
If ($mpos[0] >= @DesktopWidth - 200) And ($mpos[0] < @DesktopWidth - 2) And ($mpos[1] > @DesktopHeight - 30) Then
$list = WinList("[CLASS:Shell_TrayWnd]")
If $list[0][0] > 0 Then WinActivate ($list[1][1])
EndIf
WendЗачем так извращаться? Левый верхний угол экрана имеет координаты (0, 0), поэтому прямоугольник в нем при любых разрешениях элементарно ловится абсолютными размерами:Код: Выделить всё
If ($mpos[0] <= @DesktopWidth - 1023) And ($mpos[1] < @DesktopHeight - 760) Then
Код: Выделить всё
If ($mpos[0] < 2) And ($mpos[1] < 8) ThenА нижний правый?MVV писал(а):Левый верхний угол экрана имеет координаты (0, 0), поэтому прямоугольник в нем при любых разрешениях элементарно ловится абсолютными размерами:
Код: Выделить всё
If ($mpos[0] >= @DesktopWidth - 200) And ($mpos[0] < @DesktopWidth - 2) And ($mpos[1] > @DesktopHeight - 30) ThenНу так модифицируй скрипт, чтобы он требовал передвижения мыши туда и задержки ее в том углу на некоторое время (пол или четверть секунды, например).Вахмурка писал(а):У меня в PowerPro на курсор в верхнем левом углу настроен запуск скринсейвера. Надо сказать, что это не всегда удобно: например, при попытке активизировать системное меню крысой система трактует это действие как помещение курсора в верхний левый угол экрана.
Я бы замутил себе для таких целей простенькую (килобайта на 3) программку с хуком, висящую в автозагрузке и не требующую ничего кроме винды.Вахмурка писал(а):Так или иначе, как сказал CaptainFlint, PowerPro для этих дел - оптимальная приблуда. Выбор движения курсора огромен, осталось лишь выбрать и привыкнуть.
То, что ты написал - это когда мышь находится в интервале от 30 до 200 точек (т.е. больше @DesktopWidth - 200 и меньше @DesktopWidth - 30) от правого конца экрана по горизонтали, и в пределе двух нижних строк по вертикали (т.е. координата по вертикали больше @DesktopHeight - 2) - т.е. фактически это прямоугольничек 170х2 пикселей, расположенный внизу экрана в 30 точках от правой его границы.Flasher писал(а):А нижний правый?MVV писал(а):Левый верхний угол экрана имеет координаты (0, 0), поэтому прямоугольник в нем при любых разрешениях элементарно ловится абсолютными размерами:Код: Выделить всё
If ($mpos[0] >= @DesktopWidth - 200) And ($mpos[0] < @DesktopWidth - 30) And ($mpos[1] > @DesktopHeight - 2) Then
Код: Выделить всё
If ($mpos[0] > @DesktopWidth - CX) And ($mpos[1] > @DesktopHeight - CY) ThenВ том-то и прелесть, что это не скрипт, а встроенная функция. Да я и привык уже не разгонять крысу сильно при движениях в этой области. "ТщательнЕе надо, ребята" ((С) Жванецкий). К тому же, ну запустится сейвер, ну и пес с ним. Как запустится, так и распустится.Ну так модифицируй скрипт, чтобы он требовал передвижения мыши