Как узнать pid активного окна в windows

Как узнать pid активного окна в windows

WinGet -Autohotkey

Возвращает идентификатор окна, идентификатор его процесса, имя процесса, список элементов управления окна, список всех окон, отвечающих заданным критериям.

Параметры

OutputVar Имя переменной, куда будет помещён результат.
Cmd Смотрите список ниже.
WinTitle Заголовок или часть заголовка окна (метод поиска можно задавать командой SetTitleMatchMode). Если этот и следующие 3 параметра опущены, будет использовано последнее найденное окно. Чтобы задать окно через его класс, используйте конструкцию ahk_class ТочноеИмяКласса (можно посмотреть программой Window Spy). Чтобы использовать идентификатор процесса (PID), задайте параметр как ahk_pid %ПеременнаяСодержащаяPID%. Чтобы использовать идентификатор окна, задайте параметр как ahk_id %ПеременнаяСодержащаяID%.
WinText Подстрока из одиночного текстового элемента окна (можно посмотреть программой Window Spy). Скрытые текстовые элементы определяются, если включено определение скрытого текста (команда DetectHiddenText).
ExcludeTitle Окна, чей заголовок включает значение этого параметра, исключаются.
ExcludeText Окна, чей текст включает значение этого параметра, исключаются.

Cmd задаёт выполняемую операцию. Значение по умолчанию — ID. Ниже перечислены возможные значения.

ID. Bозвращает уникальный идентификационный номер (HWND/handle) окна. Если окна, подходящего под указанные параметры, нет, выходная переменная будет пустой. Функции WinExist() и WinActive() также могут быть использованы для определения идентификатора окна. Например, WinExist(«A») — быстрый способ узнать ID активного окна. Чтобы узнать HWND элемента управления (для последующего использования с Post/SendMessage или DllCall) воспользуйтесь командами ControlGet Hwnd или MouseGetPos.

IDLast. То же, что выше, но будет возвращён идентификатор самого нижнего из совпадающих с критериями окон. Если подходящее окно только одно, действует идентично ID. Это то же правило, по которому действует команда WinActivateBottom.

PID. Возвращает идентификатор процесса, которому принадлежит окно.

ProcessName. Определяет имя процесса (например, notepad.exe).

Count. Возвращает число существующих окон, подходящих под параметры WinTitle, WinText, ExcludeTitle и ExcludeText (вернёт 0, если таких нет). Чтобы пересчитать вообще все существующие окна, опустите все эти параметры. Скрытые окна считаются, если включено определение скрытых окон (команда DetectHiddenWindows).

List. Возвращает ID всех существующих окон, подходящих под параметры WinTitle, WinText, ExcludeTitle и ExcludeText. Чтобы получить список вообще всех существующих окон, опустите все эти параметры. Каждый идентификатор сохраняется в элементе массива, имя элемента начинается с имени выходной переменной. В саму выходную переменную помещается число найденных окон (0, если не найдено ни одного). Например, если переменная названа MyArray и было найдено два окна, MyArray1 будет содержать ID первого окна, MyArray2 — второго, а сама MyArray — число 2. Окна перечисляются в порядке от верхнего к нижнему (согласно с их расположением на рабочем столе). Скрытые окна учитываются, только если включено определение скрытых окон (команда DetectHiddenWindows). Если команда применяется внутри функции, но нужно, чтобы выходной массив был глобальным, объявите MyArray как глобальную переменную до выполнения команды (обратное верно для функций, где все переменные глобальны по умолчанию, а массив должен быть локальным).

MinMax. Определяет состояние окна (свёрнуто/развёрнуто). Выходная переменная пуста, если окно не найдено; иначе принимает одно из следующих значений:

-1 Окно свёрнуто (WinRestore восстановит его).

1 Окно развёрнуто (WinRestore восстановит его).

0 Окно не свёрнуто и не развёрнуто.

ControlList. Возвращает имена всех элементов управления окна. Если подходящего окна не найдено или оно не содержит элементов управления, выходная переменная будет пустой. Иначе каждое имя состоит из имени класса элемента и его порядкового номера (ClassNN), так же, как это показывает программа Window Spy.

Каждая строка списка, кроме последней, оканчивается переводом строки (`n). Для просмотра имён элементов управления по одному используйте цикл разбора, как показано в разделе с примерами ниже.

Элементы перечисляются в Z-порядке, обычно в том же порядке происходит переход между ними по нажатию клавиши TAB, если окно поддерживает такую навигацию.

Элемент управления, находящийся под курсором мыши, может распознаваться командой MouseGetPos.

ControlListHwnd [v1.0.43.06+]. То же, что выше, с тем отличием, что возвращаются оконные идентификаторы (HWND/handle) элементов управления, а не их имена (ClassNN).

Transparent. Возвращает степень прозрачности окна (задать прозрачность можно командой WinSet). Выходная переменная будет пустой, если: 1) операционная система более старая, чем Windows XP; 2) не найдено окон, подходящих под параметры; 3) уровень прозрачности для окна не задан; 4) другие причины (вызванные действиями операционной системы) — например, окно было свёрнуто, восстановлено и/или был изменён его размер после того, как оно было сделано прозрачным. Иначе в переменную будет помещено число от 0 до 255; 0 означает невидимое окно, 255 — полностью видимое. Пример:

TransColor. Возвращает цвет, который в окне задан как прозрачный (задаётся командой WinSet). Выходная переменная будет пустой, если: 1) операционная система более старая, чем Windows XP; 2) не найдено окон, подходящих под параметры; 3) окно не имеет прозрачного цвета; 4) другие причины (вызванные действиями операционной системы) — например, окно было свёрнуто, восстановлено и/или был изменён его размер после того, как оно было сделано прозрачным. Иначе в переменную будет помещено 6-значное шестнадцатеричное число, обозначающее цвет в формате RGB (красный-зелёный-синий), например, 0x00CC99. Пример:

Style или ExStyle. Возвращает 8-значное шестнадцатеричное число, представляющее стиль или расширенный стиль окна. Если окон, подходящих под параметры, не найдено, выходная переменная будет пустой. Следующий пример определяет, имеет ли окно стиль WS_DISABLED:

Следующий пример определяет, имеет ли окно стиль WS_EX_TOPMOST (поверх всех окон):

Смотрите список некоторых стилей в статье «Стили, используемые командами Gui и GuiControl» («Styles Usable by the Gui and GuiControl Commands»).

Примечания

Номер идентификатора окна действителен только пока существует это окно. Другими словами, если перезапустить приложение, все его окна получат уже другие идентификаторы.

Номера идентификаторов возвращаются этой командой в виде чисел (префикс «ahk_id» не включается) и сохраняются в шестнадцатеричном формате независимо от настроек, устанавливаемых командой SetFormat.

Идентификатор окна под курсором мыши можно узнать через команду MouseGetPos.

Хотя в данное время идентификаторы являются 32-битными числами без указания знака, в будущих версиях они могут стать 64-битными. Поэтому небезопасно совершать над ними числовые операции, такие как сложение, т.к. такие операции требуют, чтобы их входные строки могли быть интерпретированы как числа со знаком.

Заголовки и текст окон чувствительны к регистру. Скрытые окна не определяются, если только это не задано командой DetectHiddenWindows.

Как узнать pid активного окна в windows

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Сообщения: 36
Благодарности: 2

Сообщения: 36
Благодарности: 2

Сообщения: 446
Благодарности: 44

А посмотри на программку Au3Info.exe лежит там же где и AutoIT там можно получить что тор типа этого

Последний раз редактировалось Medic84, 11-06-2009 в 20:13 .

Сообщения: 36
Благодарности: 2

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

Проблема в том что в программе для ввода данных можно открыть много окон как в OUTLOOK
и в каждом окне можно писать данные
Пока смог написать только что бы Caps lock сробатовал в первом окне В остальных не работает Caps lock

Сообщения: 460
Благодарности: 152

Конфигурация компьютера
Процессор: DualCore Intel Core 2 Duo E6750, 2666 MHz
Материнская плата: Asus P5K WS
Память: 2 х 1024 Mb
HDD: Seagate ST3500320AS (500 Gb, 7200 RPM, SATA-II), Seagate ST3320620AS (320 Gb, 7200 RPM, SATA-II), Hitachi HDS721680PLA380 (80 Gb, 7200 RPM, SATA-II)
Видеокарта: NVIDIA GeForce 8600 GTS (256 Мб)
Звук: Realtek ALC888/S/T @ Intel 82801IB ICH9
Монитор: ASUS VW 222U, 22"
ОС: MS Windows XP Professional SP2, RUS
Прочее: Клавиатура: Logitech WAVE, Мышь: Razer DeathAdder GuildWars, Ковер: Razer Mantis
у нас на работе установили программу для ввода данных
Но она понимает только большые буквы
Вот я и хотел написать программу в что бы каждый раз что я обращаюсь к окну для заполнения данных у меня включался Caps lock
Проблема в том что в программе для ввода данных можно открыть много окон как в OUTLOOK
и в каждом окне можно писать данные
Пока смог написать только что бы Caps lock сробатовал в первом окне В остальных не работает Caps lock »

——-
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Как узнать pid активного окна в windows

Поддержка продуктов для дома и мобильных устройств

Поддержка продуктов для бизнеса

Выберите язык
  • Deutsch
  • English (Global)
  • English (UK)
  • English (US)
  • Français
  • Polski
  • Русский
  • 日本語

Как мы можем улучшить статью?

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

Ссылка на основную публикацию