| 
| 
 | Вопрос # 4 503/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Как мне получить handle всех запущеных окон в windows?
 
|  |   Вопрос задал: padonak (статус: Посетитель)Вопрос отправлен: 15 августа 2010, 17:14
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: bugmenot 1. Перечислить окна верхнего уровня - EnumWindows - http://msdn.microsoft.com/en-us/library/ms633497(VS.85).aspx2. И для каждого из них перечислить дочерние окна - EnumChildWindows - http://msdn.microsoft.com/en-us/library/ms633494(VS.85).aspx
 
 !. Не забывай объявить функции обратного вызова как stdcall
 
|  | Ответ отправил: bugmenot (статус: 3-ий класс)Время отправки: 15 августа 2010, 17:44
 Оценка за ответ: 4
 Комментарий к оценке: мощь конечно, ток у меня с англицким не очень ((( |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 15 августа 2010, 18:31; участников в обсуждении: 2. 
|   | padonak (статус: Посетитель), 15 августа 2010, 17:47 [#1]:bugmenot: цель вобще какая, найди окно, и выполнить группу действий над ним... затем найди следующее и т.д. |  
|   | padonak (статус: Посетитель), 15 августа 2010, 18:00 [#2]:procedure TrimWorkingSet; var
 MainHandle: THandle;
 begin
 if Win32Platform = VER_PLATFORM_WIN32_NT then
 begin
 MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID);
 SetProcessWorkingSetSize(MainHandle, DWORD(-1), DWORD(-1));
 CloseHandle(MainHandle);
 end;
 end;
 
 эта процедура идёт только к своему приложению... я думал что хватит handle чужого окна, чтобы использовать эту процедуру на другом приложении, но увы не вышло... эксперты, как можно сделать так, чтобы эта процедура пробегалась по всем приложениям и снижала нагрузку на систему?
 |  
|   | bugmenot (статус: 3-ий класс), 15 августа 2010, 18:21 [#4]:Второй вопрос вообще к процессам относится, не к окнам. Реального эффекта не будет, сразу говорю. виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | padonak (статус: Посетитель), 15 августа 2010, 18:26 [#6]:bugmenot: я сравнивал нагрузку до использования процедуры и после, разница большая... по использовании окна, нагрузка возрастает, но если воткнуть таймер, то будет то что нужно... |  
|   | padonak (статус: Посетитель), 15 августа 2010, 18:31 [#7]:bugmenot: спасибо, вопрос закрыт... |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |