|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Можно ли получить список окон, открытых процессом? |
|
[решено] Можно ли получить список окон, открытых процессом?
|
Старожил Сообщения: 186 |
Профиль | Отправить PM | Цитировать Добрый день! Допустим, есть процесс NotePad.exe. Как получить массив из одного элемента, который будет являться хэндлом окна блокнота?
|
|
Отправлено: 13:18, 25-12-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата evg64:
Вот пример получения хендла окна «Сохранить как» у блокнота: $iPID = Run(@WindowsDir & "\Notepad.exe") ProcessWait("Notepad.exe") Sleep(500) Send("^s") Sleep(1000) $hSaveAs = _WinGetHandleEx($iPID, "#32770", "", "FolderView") MsgBox(64, "Result", "hWnd: " & $hSaveAs & ", Title: " & WinGetTitle($hSaveAs)) Func _WinGetHandleEx($iPID, $sClassNN="", $sPartTitle="", $sText="", $iVisibleOnly=1) If IsString($iPID) Then $iPID = ProcessExists($iPID) Local $aWList = WinList("[CLASS:" & $sClassNN & ";REGEXPTITLE:(?i).*" & $sPartTitle & ".*]", $sText) If @error Then Return SetError(1, 0, "") For $i = 1 To $aWList[0][0] If WinGetProcess($aWList[$i][1]) = $iPID Then If Not $iVisibleOnly Or ($iVisibleOnly And BitAND(WinGetState($aWList[$i][1]), 2)) Then Return $aWList[$i][1] EndIf Next Return SetError(2, 0, "") EndFunc |
|
------- Отправлено: 15:31, 25-12-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Так можно получить список всех окон для процесса.
#Include <Array.au3> #Include <WinAPIEx.au3> Global $Data = _WinAPI_EnumProcessWindows(ProcessExists('Notepad.exe')) If IsArray($Data) Then _ArrayDisplay($Data) EndIf |
Отправлено: 16:48, 26-12-2009 | #3 |
Старожил Сообщения: 186
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось evg64, 26-12-2009 в 20:33. Отправлено: 20:22, 26-12-2009 | #4 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата evg64:
Цитата evg64:
P.S Тема решена? |
|||
------- Отправлено: 23:35, 26-12-2009 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Как получить список пользователей | Vagac | AutoIt | 2 | 06-11-2009 12:24 | |
Разное - [решено] Как получить список локальных пользователей | ZlojMyX | Microsoft Windows 2000/XP | 1 | 16-03-2009 11:16 | |
Загрузка - [решено] Как настроить восстановление открытых окон при загрузке | Romik2 | Microsoft Windows 2000/XP | 1 | 07-12-2007 13:30 | |
Какой программой можно получить список ссылок всего сайта | SimSim | Хочу все знать | 4 | 20-04-2006 10:40 | |
Список компов в сети? Список открытых папок на компе? | DANTIST | Программирование и базы данных | 3 | 12-06-2003 10:05 |
|