Программы для расчёта окон. Управление окнами Windows

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

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

В принципе, все программы данного типа выполняют одни и те же функции. Со стороны клиента – это возможность визуального проектирования окон и расчёт их стоимости, со стороны заказчика – анализ необходимых материалов, расчёт этапов работы, финансовый учёт и документация. Среди всего многообразия программного обеспечения в этой области можно выделить пять самых популярных:

Это далеко не все существующие на сегодня программы такого типа. Многие из них созданы на одной и той же основе и мало чем отличаются друг от друга.

Программа WH-Окна

Существует весьма удобная и простая программа, позволяющая выполнять проектирование окон с учётом размеров и материала, используемого для изготовления рам. Разработчиками предусмотрено наличие пошаговой инструкции, которая прилагается к данной программе, позволяющей в короткие временные сроки освоить принцип работы. Помимо окон данная программа позволяет проектировать также дверные проемы. Причём разработчиками заложена функция проектирования конструкций различных форм.


Проект окна в программе WH окна

Основные аспекты работы программы WH окна

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

Также данная программа позволяет компоновать имеющуюся у производителя информацию в сопроводительные документы. Можно составлять прайс-листы и отчёты о проделанной работе для предоставления их заказчику.

Всё или почти всё (хотя я не возьмусь сказать, что именно составляет исключение) в Windows имеет свой хэндл (Handle). Интересен перевод системой Сократ термина «Handle» - «Ручка», на нормальном техническом русском это будет дескриптор (определитель, идентификатор, описатель). Таким образом, handle - некий уникальный идентификатор любого ресурса Windows. Каждое окно имеет свой собственный дескриптор.

Иерархия окон в системе представлена таким образом:

  • каждое окно имеет список подчинённых окон. Список может быть пустым, в случае, если стиль окна не предусматривает хранения подчинённых элементов.
  • каждое окно имеет окно-владельца. Дескриптор окна-владельца будет нулевым (пустым), если окно имеет верхний уровень вложенности, например, главное окно программы.
  • для каждого окна можно получить слудующее и предыдущее, в его уровне вложенности, окно.
Мы имеем древовидную структуру с возможностью навигации по дереву, как вверх и вниз по уровню вложенности, так и горизонтально. Горизонтальная навигация возможна исключительно по окнам, имеющим то же окно-владелец. Рассмотрим простенькую схемку:

Для «Окна 3» - владелец «Окно 1», окна своего уровня - «Окно 3 …Окно N», и соответсвующие по рисунку, дочерние окна - «Окно N+1 … N+M». При этом, непосредственно получить идентификаторы других окон, используя идетификатор исходного окна невозможно.

Перейдём к иструментарию Windows API, позволяющему реализовать сказаное выше.

function GetWindow(hWnd: HWND; uCmd: UINT): HWND; Функция возвращает дескриптор окна, с заданным положением в иерархии окон относительно заданного окна.
  • hWnd - дескриптор исходного окна.
  • uCmd - направление связи, т.е. вверх, вниз или по горизонтали.
Значения переменной uCmd:
  • GW_CHILD - Возвращает дескриптор дочернего (подчинённого) окна, находящегося в верхней позиции Z-упорядочивания. В случае, если окно не имеет дочерних окон, возвращается 0.
  • GW_HWNDFIRST - Возвращает дескриптор окна, находящегося в верхней позиции Z-упорядочивания того же уровня, что и исходное окно.
  • GW_HWNDLAST - Возвращает дескриптор окна, находящегося в нижней позиции Z-упорядочивания того же уровня, что и исходное окно.
  • GW_HWNDNEXT - Возвращает дескриптор окна, находящегося в следующей позиции Z-упорядочивания того же уровня, что и исходное окно.
  • GW_HWNDPREV - Возвращает дескриптор окна, находящегося в предыдущей позиции Z-упорядочивания того же уровня, что и исходное окно.
  • GW_OWNER - Возвращает дескриптор окна владельца исходного окна. Если окно имеет нулевой уровень вложенности, возвращается 0.

О Z-упорядочивании: самое «верхнее» окно на экране имеет нулевую позицию, следующее, перекрываемое им окно - первую позицию, и так далее до самого «нижней» части экрана. Таким образом реализуется понятие трёхмерности, хотя в одной умной книжке я читал, что многооконная среда условно имеет 2.5-мерность (2.5D).

С помощью этой функции мы можем получить список всех окон системы несложной рекурсивной прогулкой по дереву (задача 1-го курса ВУЗа «Обход дерева»).

Нам понадобятся ещё несколько функций WinAPI:

function GetWindowText(hWnd: HWND; lpString: PChar; nMaxCount: Integer): Integer; Функция получает текст окна по его идентификатору и возвращает считанную длину строки текста окна.
  • hWnd - идентификатор окна.
  • lpString - текст окна в переменной PChar. Переменную необходимо создать заранее.
  • nMaxCount - длина строки lpString.
function GetClassName(hWnd: HWND; lpClassName: PChar; nMaxCount: Integer): Integer;
  • hWnd - идентификатор окна.
  • lpClassName - имя класса окна в переменной PChar. Переменную необходимо создать заранее.
  • nMaxCount - длина строки lpClassName.
function GetMenu(hWnd: HWND): HMENU;
Функция возвращает идентификатор меню по переданному идентификатору окна.

Перейдём к непосредственному построению программы.

Построение программы.
Запустим Delphi и создадим новое приложение в меню File->New Application. Не будем отвлекаться на навороченный интерфейс, не сомневаюсь, что большинство делает это легко, как «два байта переслать» ;). Построим что-нибудь а-ля "Проводник". Обзовём главную форму fmMain, а главный модуль - Main.pas. Разместим на форме компоненты как показано на рисунке:

Слева на форме находится компонент Tree:TTreeView, а клиентскую часть занимает компонент List:TListView.

Добавим в форму fmMain процедуру заполнения дерева FillTree следующего содержания:

// процедура заполнения дерева procedure TfmMain.FillTree; var h,h1:THandle; Buffer:PChar; // рекурсивная процедура заполнения дерева procedure RegisterWindow(hWnd:THandle;ParentTreeItem:TTreeNode); var Node:PNode; // данные окна TreeNode:TTreeNode; // узел дерева h:THandle; // хэндл окна, промежуточная переменная begin // получение и сохранение информации об окне // создание переменной информации обокне New(Node); // присвоение дескриптора Node^.Handle:=hWnd; // получение текста окна GetWindowText(hWnd,Buffer,256); Node^.Text:=Trim(StrPas(Buffer)); // получение класса окна GetClassName(hWnd,Buffer,255); Node^.CName:=Trim(StrPas(Buffer)); // получение дескриптора меню окна Node^.Menu:=GetMenu(hWnd); // размещение в дереве TreeNode:=Tree.Items.AddChild(ParentTreeItem,""); // присвоение отображаемого текстового значения if Node^.Text"" then TreeNode.Text:=Node^.Text else if Node^.CName"" then TreeNode.Text:=Node^.CName else TreeNode.Text:=IntToStr(Node^.Handle); // сохранение ссылки на информацию об окне в соответствующем узле дерева TreeNode.Data:=Node; // Рекурсивные вызовы // получение поддчинённых элементов h:=GetWindow(hWnd,gw_Child); if h0 then RegisterWindow(h,TreeNode); // получение элеметов того же уровня h:=GetWindow(hWnd,gw_hWndNext); if h0 then RegisterWindow(h,ParentTreeItem); end; begin Status.SimpleText:="Обновление информации об окнах..." ; Application.ProcessMessages; // выключение отображения изменений дерева Tree.Items.BeginUpdate; // очистка дерева Tree.Items.Clear; // создание буфера для работы с PChar Buffer:=StrAlloc(256); // Получаем хэндл текущего окна h1:=Handle; repeat // получаем хэндл окна-владельца h:=GetWindow(h1,GW_OWNER); // если не окно верхнего уровня, то ищем дальше if h0 then begin h1:=h; end; until h=0; // находим первое верхнее окно h:=GetWindow(h1,GW_HWNDFIRST); // запуск рекурсии RegisterWindow(h,nil); // задание выделенного элемента дерева Tree.Selected:=Tree.Items; // включение отображения изменений дерева Tree.Items.EndUpdate; // удаление буфера для работы с PChar StrDispose(Buffer); // сообщение в строке статуса Status.SimpleText:="Готово." ; end; Теперь попробуем в ней разобраться (смотри по тексту процедуры). Status - класс TStatus Bar. Сообщим в строке статуса, что мы обновляем информацию. Выключим отображение обновления дерева для того, чтобы ничего в процессе обновления у нас на экране не дёргалось. Очистим дерево и создадим переменную Buffer, в которую будем записывать строковые результаты выполнения функций WinAPI. Следующий этап - добраться до самого верхнего и самого первого окна системы. Мы вызываем функцию GetWindow с параметром GW_OWNER - получение окна-владельца, начиная с главного окна программы. Получив окно, не имеющее владельца, находим для этого окна окно с нулевым Z-порядком, вызвав функцию GetWindow с параметром GW_HWNDFIRST - получение первого окна в данном уровне вложенности. Теперь мы можем начать обход дерева окон, начиная с самого первого по порядку возрастания вложенности и Z-порядка, вызвав рекурсивную процедуру RegisterWindow. Как известно, у класса TTreeNode - узла дерева - есть поле Data:Pointer. В это поле можно записывать любые ссылки на данные, которые требуется ассоциировать с узлом дерева. Создадим структуру данных для хранения информации об окне. // тип для хранения информации об окне TNode=record Handle:THandle; // хэндл окна Text:string; // текст окна CName:string; // имя класса Menu:HMenu; // хендл меню end; PNode=^TNode; // указатель на структуру При нахождении очередного окна будем создавать динамическую переменную типа PNode и её значение записывать в поле TTreeNode.Data. Итак, мы знаем «первое верхнее» окно. Передадим его в процедуру RegisterWindow. Также в эту процедуру передаётся ссылка на узел дерева, к которому добавляются узлы подчинёных окон. В первом случае вызова рекурсии, эта ссылка равна nil.

Следующие действия просты до безобразия (процедура RegisterWindow):

  • создать переменную описания окна;
  • получить по заданному идентификатору описанными ранее функциями WinAPI текст, имя класса и идентификатор меню, и записать эти значения в переменную окна;
  • создать узел дерева и присвоить ему перменную окна, задав владельца узла и присвоив ему текстовое значение;
  • получить идентификатор дочернего окна, и если идентификатор не равен 0, рекурсивно его обработать, передав в RegisterWindow полученные параметры. При этом, в процедуру передаётся идентификатор полученного дочернего окна и только что созданный узел дерева;
  • получить идентификатор следующего за текущим окна того же уровня вложенности. И если он не равен 0, передать в RegisterWindow полученный идентификатор и внешний параметр ParentTreeItem. При этом узлы дерева будут добавляться на том же уровне, что и текущий узел.
Если мы вызовем процедуру FillTree в событии FormCreate, то дерево автоматически заполнится при запуске программы. Создадим действие acRefresh:TAction и свяжем его с кнопкой обновления, расположенной на форме. В обработке запуска действия напишем такой код: // действие "обновить" procedure TfmMain.acRefreshExecute(Sender: TObject); begin // заполнение дерева FillTree; end; Теперь мы можем принудительно обновлять список. Перейдём к отображению всей собранной информации об окне в компоненте List:TListView. Обработаем событие TTreeView.OnChange так: // событие изменения выделенного элемента дерева procedure TfmMain.TreeChange(Sender: TObject; Node: TTreeNode); // добавление в List строки procedure AddItem(Name,Value:String); var Item:TListItem; begin Item:=List.Items.Add(); Item.Caption:=Name; Item.SubItems.Add(Value); end; begin // выключение обновления List.Items.BeginUpdate; // очистка List.Items.Clear; // добавление элементов if (Nodenil) and (Node.Datanil) then begin AddItem("Текст" ,TNode(Node.Data^).Text); AddItem("Класс" ,TNode(Node.Data^).CName); AddItem("Дескриптор окна" ,IntToStr(TNode(Node.Data^).Handle)); AddItem("Дескриптор меню" ,IntToStr(TNode(Node.Data^).Menu)); end; // включение обновления List.Items.EndUpdate; end; На выделение соответсвующего элемента дерева (Node:TTreeNode), добавляем в компонент List:TListView строки со значениями всех полей записи PNode^.

Если Вам нужно закрепить окно поверх других в Windows, на переднем плане рабочего стола — парочка малюсеньких и бесплатных компьютерных программ, описанных ниже, как раз помогут Вам в этом деле.

Некоторые пользователи скажут, что закрепление окон Windows на переднем плане (всегда сверху остальных окон) это бесполезная и лишняя «фича» в системе, но я поспорю с ними — только представьте, как удобно «приколоть» окошко калькулятора , браузера или видеопроигрывателя где-то в уголочке и спокойно работать сразу в нескольких, а не прыгать из одного в другое.

Уверен, что зафиксированные окна особенно понравятся владельцам нынче модных больших широкоформатных мониторов .

Итак, вот Вам первая бесплатная программка для закрепления окна на переднем плане…

DeskPins

Малюсенькая «прикольная» программка, которая после простой установки и запуска будет жить у Вас в трее…

Принцип работы её очень простой и визуализированный — кликаем по значку DeskPins в трее левой кнопкой мышки и Ваш курсор превращается в булавочку, которую перемещаем к заголовку нужного окна и прикалываем его (ещё разок кликаем левой кнопкой «грызуна»)…



При наведении курсора на булавочку появится крестик — после клика по нему окно открепится и станет обычным.

В настройки программки (Options…) можно попасть через меню вызываемое правым кликом по значку в трее…

Тут можно поменять цвет булавки, выставить какую-то задержку (не понял для чего она) и выбрать метод активации программы в трее (двойным кликом или одинарным)…

Со вторым разделом параметров не разобрался — ясно только, что он для настройки автозакрепления определённых окон, но у меня эта штука не заработала почему-то…

Пожалуй самый полезный раздел настроек — третий…

…тут можно назначить «горячие клавиши» программы.

Скачать DeskPins можно перейдя по этой официальной ссылке и выбрав на странице автора программы нужную версию…

Кстати, программа после своей установки не делает ярлык на рабочем столе и не запускается автоматически — её можно найти в меню «Пуск»…

TurboTop

Это вторая бесплатная и микроскопическая программа для закрепления окон на переднем плане. Тоже очень простая и также живёт в …

При клике любой кнопкой компьютерной мышки появится список активных в данный момент окон Windows — выбираем нужное и «прикалываем» его кликом (ставим галочку) на передний план (над всеми другими)…

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

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

Галерея скриншотов

Иногда при работе с компьютером возникают, казалось бы, тривиальные задачи, которые на практике реализовать почти невозможно! Одной из таких задач является изменение размеров окна.

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

Я столкнулся с такой проблемой, делая скриншоты с телефона при помощи Crystal Screen. Дело в том, что каждый раз при подключении телефона к ПК размер окна с содержимым экрана имел разный размер (обычно увеличенный). Поэтому приходилось при помощи экранной линейки целиться, чтобы попасть в размер 320 на 240 пикселей, что отнимало достаточно много времени…

Вот тогда-то я и решил, что должен быть какой-то способ быстро установить нужные параметры. Но, не тут-то было:) Гугл выдавал мне все, что угодно, но не программы для изменения размеров окон. Тогда я решил покинуть Рунет и поискать нужный софт «за бугром». Спустя пару минут поиска я нашел-таки три приложения, но из них выбрал только одно - Sizer . На то было несколько причин:

  1. Возможность русификации;
  2. Небольшой размер;
  3. Малое потребление системных ресурсов;
  4. Интеграция в Проводник;
  5. Поддержка 64-битных систем.

Сравнение с платным аналогом

Как я уже сказал, на просторах Рунета подобных программ практически нет. Однако функция переразмеривания окон встречается в некоторых комплексных системных утилитах. Примером такой утилиты может быть Actual Window Guard:

Конечно, в платной программе функций имеется гораздо больше, но для решения проблемы управления конкретными окнами возможностей Sizer хватит вполне.

Начало работы с программой

Еще одним преимуществом Sizer является то, что программа - портативная, то есть не требует установки! Вы можете носить ее с собой на флешке, а для начала работы Вам будет достаточно просто распаковать скачанный архив в отдельную папку.

В архиве Вы найдете две версии программы: sizer.exe и sizer(RUS).exe . Официальной русификации у приложения пока нет, поэтому русифицировал я ее сам при помощи . В принципе русифицированный вариант должен работать без ошибок, но на случай возникновения таковых и был приложен оригинальный sizer.exe .

Для начала работы запустим русифицированный вариант Sizer и посмотрим в трей (область возле часов):

Там должен появиться значок нашей программы в виде стрелок в четыре стороны. Если нажать по нему правой клавишей мыши, мы получим доступ к контекстному меню. Оно разделено на две секции: в верхней находятся предустановки для последнего активного окна, а в нижней - настройки, короткая информация о программе и кнопка выключения.

Чтобы изменить размер активного окна до одного из трех размеров по умолчанию нам достаточно кликнуть по нужному значению в контекстном меню. Например, на предыдущем скриншоте мы изменили размер окна Проводника с содержимым Диска Е до 640 на 480 пикселей, нажав пункт «-640х480».

Настройки программы

Однако, не умолчаниями едиными радует нас Sizer. Добавить новые размеры и некоторые другие полезные функции мы можем в настройках программы. Попасть в них можно, нажав пункт «Настроить Sizer» в основном контекстном меню:

Все настройки программы собраны в одном окне и разделены на две большие секции: «Пункты меню» и «Опции Sizer». В первой секции собраны основные рабочие настройки для создания новых вариантов переразмеривания, тогда, как вторая содержит дополнительные опции для настройки некоторых глобальных параметров работы Sizer. К таким параметрам относится:

  • шаг сетки для изменения размера окна;
  • отображение подсказок (не знаю, как у кого, а меня не работает:));
  • отображение иконки в трее;
  • добавление Sizer в системное меню;
  • изменение размера в зависимости от текущего положения курсора (тоже бесполезный пункт).

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

Создание собственных установок для изменения размеров окон

Для того, чтобы изменить существующие или добавить собственные пункты в меню Sizer нам нужно воспользоваться первой секцией настроек. Предположим, нам нужно создать настройку, которая бы изменяла размер окна до 240 х 320 пикселей.

Для этого жмем кнопку «Добавить» - по умолчанию в конце списка будет создан новый пункт с размерами 640 х 480 пикселей и соответствующим названием. При помощи кнопок «Поднять» и «Опустить» регулируем положение пункта в выпадающем меню (я поднял максимально вверх), а затем правим параметры нового пункта как хотим:

Основными параметрами являются «Описание» (по сути, название пункта), «Ширина» и «Высота». Однако есть возможность также изменить положение окна (список «Переместить в») и задать комбинацию клавиш, которая будет запускать нужное нам действие без необходимости заходить в контекстное меню.

Сохраним изменения, нажав кнопку «Ok», и посмотрим, что у нас получилось:

Если Вы активировали в настройках опцию «Добавить Sizer в системное меню», то теперь Вы можете вызывать меню переразмеривания непосредственно из контекстного меню заголовка почти любого окна! Для этого наведите курсор на пункт «Resize/reposition» и выберите нужный размер.

Кстати, в самом низу под списком предустановок есть пункт «New entry». Он позволяет создать новый пункт меню изменения размера, взяв в качестве параметров размеры текущего окна.

Возможные варианты применения

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

Например, на мониторе с разрешением 1360 х 768 пикселей (как у меня) можно одновременно открыть четыре окна с размерами 680 х 369 пикселей:

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

Само собой, Вы можете делить рабочее пространство между окнами и непропорционально. К примеру, верхнюю часть рабочего пространства Вы можете отвести под одно окно (например, браузер), а нижнее поделить на несколько мелких областей (например, окна Проводника). Короче, делаем так, как будет удобно:).

Единственное, чего нет в программе, так это функции автозапуска. Но его можно реализовать, создав ярлык программы на Рабочем столе и переместив его в папку «Автозагрузка» (для Windows XP адрес папки такой: C:\Documents and Settings\Admin\Главное меню\Программы\Автозагрузка).

Достоинства и недостатки программы

  • малый размер;
  • портативный режим работы;
  • неограниченное количество предустановок;
  • поддержка горячих клавиш;
  • поддержка перемещения окон.
  • нет автозагрузки программы;
  • неполная русификация.

Выводы

Для себя я сделал вывод, что Sizer - лучшая программа в своем классе (по крайней мере, из тех, что мне удалось найти). Судите сами: весит мало, ограничений на количество правил не имеет, исправно делает свою работу, да еще и позволяет более эффективно организовать рабочее пространство. Добавим сюда поддержку «горячих» клавиш и получим практически идеальный инструмент для управления размерами окон.

А недостатки в виде отсутствия автозапуска и русского языка (в оригинальной версии) не такие уж и недостатки. По крайней мере, их можно довольно успешно обойти. Поэтому, если Вы устали вручную настраивать точные размеры нужных Вам окон, испробуйте Sizer и он сэкономит Вам кучу времени и нервов;).

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

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

При написании программ авторы зачастую забывают об интерфейсе и удобствах пользователя. Так не все программы имеют возможность минимизироваться в трей, оставаться всегда поверх остальных программ или прятать свое окно, а возможность максимизировать программу при ее запуске и убрать заданное окно или кнопку программы вообще не входит в число стандартных возможностей и обеспечивается только с помощью специальных приложений. О том, как, и с помощью каких программ, добиться всего перечисленного, и рассказывает данная статья. В дополнение хотелось бы отметить, что все рассмотренные в статье программы распространяются бесплатно (KSTray распространяется по принципу DonationWare).

AutoSizer 1.4.

Программа AutoSizer (Автоматический Размер), как следует из ее названия, автоматически изменяет размер окон заданных приложений. Так, например, некоторые броузеры открывают документы не в максимальном окне. Используя AutoSizer, вы можете "приказать" таким окнам открываться в максимизированном окне. AutoSizer работает практически с любыми однооконными приложениями.

Программа показывает запущенные приложения и их классы. Достаточно выбрать нужное и нажать кнопку "AutoSize!...". Теперь осталось выбрать, каким образом программа будет определять приложения, размер окон которых надо изменить. Для этого существуют две возможности: задать приложение через его класс,


тогда остальные запущенные копии приложения также будут изменяться в размере или задать приложение через точное название окна или строку в его названии.


Как видно из представленного скриншота, окно можно максимизировать, минимизировать, восстановить и отцентрировать (установить по центру экрана не меняя его размеров).


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


В числе настроек автоматический запуск при старте Windows, проигрывание звукового файла при изменении параметров окна, автоматическое помещение измененного в размерах окна за остальными окнами, а также показ иконки в трее и вызов программы по нажатию комбинации горячих клавиш (ее можно выбирать самому).
При выходе из программы она автоматически запоминает настройки для изменения размера окон до следующего раза.
AutoSizer работает под Windows 95/98/Me/NT/2000/XP.

Скачать AutoSizer 1.4 (размер 125Kb): линк

Tray It! 2.9.1.1.


Tray It! позволяет сохранить место на панели задач путем минимизации в трей окон заданных приложений. Для каждого приложения, которое минимизируется в трей, создается отдельная иконка. Пользоваться программой довольно просто. При первом запуске она выдает картинку, из которой становится понятно, как минимизировать приложение в трей.


TrayIt! ищет заданную подстроку в каждом заголовке окна и минимизируют в трей те окна, которые соответствует заданному образцу. Программа ищет строки слева направо, в порядке их написания, и останаливает поиск при нахождении всех строк. Строки для поиска не чувствительны к регистру. Можно применять символ "|" для разделения строк и символы "*" и "?" для задания шаблона. Символ "^", написанный в начале подстроки, инвертирует ее значение.


Программа работает под Windows NT4/95/98 и не требует инсталляции, достаточно только создать папку и поместить туда два файла: TrayIt!.exe и TrayIt!.dll.

Скачать Tray It! 2.9.1.1 (размер 36Kb): линк

KSTray

Рассматривалась программа KSTray версии 1.02 (старое название D2Gtray).

Программа для минимизации выбранного приложения в трей. При запуске выдается следующее окно:


Здесь написано, что программа для минимизации в трей еще не задана, и сейчас у вас появится возможность ее выбора. Однако, если вы запускаете программу уже не в первый раз, она запомнит предыдущие установки и выдаст вам окно выбора:


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


Вместе с программой может быть задана и ее иконка:


Иначе KSTray подставит свою:


При минимизации программы она автоматически убирается в трей:


Если навести курсор мышки на иконку, можно увидеть название свёрнутой программы.


При двойном щелчке на иконке в трее или при выходе из KSTray минимизированная в трее программа автоматически раскрывается. Существует возможность выхода из KSTray вместе со свёрнутой программой. KSTray не требует инсталляции, работает на всех версиях Windows.

Скачать KSTray 1.02 (размер 222Kb): линк

Hidden

Рассматривалась программа Hidden версии 1.1 .

Принцип работы программы довольно прост. Стандартные приложения Windows перед стартом проверяют заданные переменные, относящиеся к параметрам работы окна программы, в том числе и переменную, от которой зависит, в каком виде: в нормальном, развернутом, свернутом или спрятанном, будет запущена программа. Hidden просто изменяет значение этой переменную на "Hide" ("Спрятать"). Однако, в таком случае, это сказывается на работе некоторых программ. В случае, если вам необходимо спрятать не всю программу целиком, а отдельное ее окно, воспользуйтесь программой WinHide этого же автора, которая действует в обход, пряча окно программы уже после ее запуска.
Программа не требует инсталляции и запускается из командной строки. Для запуска необходимо набрать:

Hidden Program ,

где Program - программа, которую необходимо запустить и Parameters - параметры ее запуска (вы можете передать вызываемой программе параметры запуска командной строки, написав их после названия программы и заключив все вместе в кавычки).
Например:
Hidden "Notepad C:\Windows\win.ini"
При запуске Hidden без обязательно параметра с названием программы об этом выдается сообщение.


Запущенная программа не будет видна ни на панели задач, ни в менеджере задач, однако ее можно будет увидеть в списке задач, нажав Ctrl+Alt+Del.

Скачать Hidden 1.1 (размер 17Kb): линк

WinHide 3.0

Рассматривалась программа WinHide версии 3.0 .

Если вам нужно спрятать отдельное окно программы или если не сработала программа Hidden , то программа WinHide создана для вас. Как и Hidden, программа не требует инсталляции и запускается из командной строки.
Формат командной строки:
WinHide Program,
где Program - название окна, которое необходимо спрятать. Если перед названием окна поставить восклицательный знак, то окно снова появится.

Примечание : учтите, что по сравнению с предыдущей версией формат параметров командной строки изменился.


Программа распространяется бесплатно.
Для того, чтобы скрыть приложение целиком, вы можете воспользоваться программой Hidden этого же автора. Для приложений с одним окном WinHide работает аналогично программе Hidden с тем исключением, что спрятанное окно может быть показано вновь. Для уточнения названия окон программ вы можете воспользоваться программами KSTray или TurboTop .

Скачать WinHide 3.0 (размер 9Kb): линк

TurboTop 2.5

Рассматривалась программа TurboTop версии 2.4 .

Не все окна приложения имеют возможность оставаться все время поверх других окон. Для того, чтобы присваивать окну любой программы возможность Stay on Top и служит утилита TurboTop 2.4. Иконка программы находится в трее, и при наведении на нее курсора и нажатию правой кнопкой мыши выдается меню со списком всех окон, принадлежащих запущенным на данный момент программам:


Достаточно выбрать нужное окно приложения и напротив него поставится галочка. Это значит, что для данного окна начал действовать режим "поверх других окон":


На скриншоте внизу видно, что хотя окно изменения даты и времени находится в фокусе, но поверх него все равно остается окно проводника:


Начиная с версии 2.0 программа TurboTop позволяет работать сразу с несколькими окнами. Программа распространяется бесплатно.
Программа поддерживает работу из командной строки. Для этого ей в качестве параметра необходимо указать приложение, которое должно быть поверх других. Приложение уже должно быть запущено до этого. Для отмены этой возможности запустите программу еще раз, в качестве параметра указав вначале, перед названием приложения, восклицательный знак. Например, для калькулятора Windows:
TurboTop.exe Calculator
и
TurboTop.exe !Calculator.

Скачать TurboTop 2.5 (размер 446Kb): линк
Похожие публикации