Как то написал прогу для управления форточками (окошками). Она предоставляет разные данные об окне и позволяет изменять их свойства.
Может кому приходится.
Для компиляции программы нужны библиотеки Droopy и PBOSL. Собирал в PB 4.31.
Скачать файлы
PureBasic - форум |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PureBasic - форум » OpenSource » Управлям форточками
Как то написал прогу для управления форточками (окошками). Она предоставляет разные данные об окне и позволяет изменять их свойства.
Может кому приходится.
Для компиляции программы нужны библиотеки Droopy и PBOSL. Собирал в PB 4.31.
Скачать файлы
Написал утилиту (основываюсь на API исходника ) для управления перемещением окон.
Для своего нетбука. У него диагональ 8,9 дюймов и многие приложения не помещаются по высоте...
Вроде всё работает, писал для инструментальных окон программы Photoshop.
Окна перемещаются, но всё что создаётся ниже экрана (в Photoshop) при перемещении вверх не перерисовывается, то есть окна получаются обрезанные...
окна получаются обрезанные
Это винда режет.
Пётр
Здравствуйте , пересмотрел множество кодов имеющих отношение к хендлам окон но не могу найти ответа на свой вопрос
Вопрос в следующем - как мне отдельно от всего получить путь до папки по хендлу - это есть в вашей программе
мне нужна всего одна - в отладчике
Возможно ли это? если возможно буду очень признателен
Заранее спасибо !
Отредактировано kaaamid (16.05.2013 08:48:27)
Нужно найти окно проводника. Потом найти в нем контрол с требуемым классом. В окне видно что он начинается с toolbarwindow. А окончание скрыто.
Окончание toolbarwindow32
Нужно найти окно проводника. Потом найти в нем контрол с требуемым классом.
можно чуть подробнее - как это сделать ???
Спасибо
как это сделать
Поиск окон проводника.
Repeat WinName.s=WindowsEnum() If WinName="" Break EndIf hWnd=GetHandle(WinName) PID=GetProcessPIDfromHWND(hWnd) If PID If LCase(GetProcessName(PID))="explorer.exe" Debug WinName EndIf EndIf ForEver
Поиск контрола.
Procedure.l enumChildren(hwnd, lParam) ; Поиск дочерних окон, принадлежащих главному Protected Dim Buff.a(258) If hwnd Len=GetClassName_(hwnd, @Buff(), 256) classText.s = LCase(PeekS(@Buff(), Len)) If classText = "toolbarwindow32" Len=SendMessage_(hwnd,#WM_GETTEXT,256,@Buff()) MainText.s=PeekS(@Buff(), Len) If MainText Debug MainText EndIf EndIf ProcedureReturn 1 Else ProcedureReturn 0 EndIf EndProcedure Repeat WinName.s=WindowsEnum() If WinName="" Break EndIf hWnd=GetHandle(WinName) PID=GetProcessPIDfromHWND(hWnd) If PID If LCase(GetProcessName(PID))="explorer.exe" Debug WinName EnumChildWindows_(hWnd, @enumChildren(), 0) Debug "" EndIf EndIf ForEver
Пётр
Огромное спасибо - я позже отпишусь о результатах
Ещё раз спасибо
Пётр
Да, то что нужно ! Буду осваивать дальше
ЗЫ: Без ваших советов и подсказок трудно было бы изучать язык
Спасибо огромное Вам и всем ребятам кто помогает !!!
Вы здесь » PureBasic - форум » OpenSource » Управлям форточками