Показать сообщение отдельно
Старый 16.01.2008, 01:09   #1
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Библиотека BlitzWinApi

BlitzWinApi - враппер апи функций для облегчения работы с этими самыми функциями. С помощью него вы сможете воспользоваться WinApi из blitz3d и blitzplus.
Текущая версия: 0.50

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

Комманды:

- работа с окнами
hWnd - идентификатор окна если равен 0 то равен стартовому окну программы;

bGetActiveWindow () - возврщает дескриптор (идентификатор) активного окна;
bSetActiveWindow (hWnd%=0) активирует окно hWnd.
bWindowFromPoint (x%,y%) - возврщает дескриптор (идентификатор) окна находящегося под указаной точкой
bFindWindow (caption$) - возвращает дескриптор окна имеющее заголовок равный caption. 0 если окно не найдено
bGetDesktop () - возврщает дескриптор (идентификатор) рабочего стола;
bDragAcceptFiles (hWnd%=0) - активировать прием окном фаилов методом drag&drop
bHideWindow (hWnd%=0) - делает невидимым окно
bShowWindow (hWnd%=0) - делает видимым невидимое окно и активирует его.
bFlashWindow (time, hWnd%=0) - вызывает мерцание заголовка окна. time - промежуток между подсветкой.
bSetWindowAlpha (alpha, hWnd%=0) - устанавливает прозрачность окна alpha изменяется от 0 до 255 (0 окно полностью прозрано, 255 окно полностью непрозрачно)
bFreeWindowAlpha (hWnd%=0) - убирает прозрачность окна
bDisableExitButton (hWnd%=0) - отключает кнопку закрыть на окне и убирает опцию закрыть в меню заголовка
bWindowIsActive (hWnd%=0) - возвращает 1 если окно hWnd активно и 0 если это не так.
bGetWindowX (hWnd%=0) - возвращает X координату окна
bGetWindowY (hWnd%=0) - возвращает Y координату окна
bGetWindowRight (hWnd%=0) - возвращает X координату правой стороны окна
bGetWindowBottom (hWnd%=0) - возвращает Y координату нижней стороны окна
bGetWindowWidth (hWnd%=0) - возвращает ширину окна
bGetWindowHeight (hWnd%=0) - возвращает высоту окна
bScreenWidth () - возвращает текущую ширину дисплея
bScreenHeight() - возвращает текущую высоту дисплея
bCreateRectRegion (l%, t%, r%, b%) - создает прямоугольный регион l, t, r, b - координаты левой, верхней, правой и нижней границ региона соответсвенно, возвращает хэндл региона
bSetWindowRegion (region%, hwnd%) - задает видимый прямоугольный регион окна возвращает 0 в случае ошибки и 1 в случае успешного выполнения

- мышь
bGlobalMouseX () - возвращает глобальную X координату мыши
bGlobalMouseY () - возвращает глобальную Y координату мыши
bSetMousePos (x%, y%) - устанавливает новую позицию мыши
bSwapMouseButton (swap) - меняет местами кнопки мыши (1-правая кнопка становится левой, 0-наоборот). Функция меняет кнопки во всех программах поэтому не забываем по окончании работы вызвать bSwapMouseButton (0)
bSetPointer (pointer, hWnd=0) - меняет указатель мыши. pointer принимает значение одной из констант: POINTER_APPSTARTING, POINTER_ARROW, POINTER_CROSS, POINTER_IBEAM, POINTER_NO, POINTER_SIZEALL, POINTER_SIZENESW, POINTER_SIZENS, POINTER_SIZENWSE, POINTER_SIZEWE, POINTER_UPARROW,
POINTER_WAIT.
bSetImagePointer (image$, hWnd=0) - Меняет указатель мыши на картинку из фаила форматов "*.cur" и "*.ani"(анимированные) image - полный путь к картинке.

- система
bGetComputerName$ () - возвращает имя компьютера
bGetUserName$ () - возвращает имя активного пользователя
bRAMTotal() - объем оперативной памяти
bRAMAvail() - доступный объем оперативной памяти
bRAMUsage() - процент ипользования оперативной памяти
bPageTotal() - объем файла подкачки
bPageAvail() - доступный файла подкачки
bVirtualTotal() - объем виртуальной памяти
bVirtualAvail() - доступный объем виртуальной памяти
bShell (path$, cmd$, show%, hWnd) - расширенный аналог ExexFile () path - путь к файлу (если указать неисполняемы фйл то будет открыто приложение по умолчанию для данного фйла), cmd - дополнительные параметры, show - принимает значение одной из констант: SW_HIDE (Не отображать окно), SW_SHOWMAXIMIZED (Отобразить и развернуть на весь экран), SW_SHOWMINIMIZED (Отобразить и свернуть), SW_SHOWMINNOACTIVE (Отобразить, минимизировать и не передавать фокус), SW_SHOWNOACTIVATE (Отобразить и не передавать фокус) SW_SHOWNORMAL (Отобразить и передать фокус)

-буфер
bGetClipboardText$ (buffer = 1024, hWnd%=0) - взять текст из буфера обмена windows buffer - длина текста
bSetClipboardText$ (txt$,hWnd%=0) - поместить текст в буфер обмена windows

- диалоговые окна
bRequestColor(r=0, g=0, b=0, hWnd%=0) - вызвать дилоговое окно выбора цвета. Используйте bRequestRed (), bRequestGreen (), bRequestBlue () для получения значения цветов, r,g,b - цвет с которого начнется выбор.
bRequestRed () - возвращает красную составляющую цвета. Вызывается после функции bRequestColor()
bRequestGreen () - возвращает зеленую составляющую цвета. Вызывается после функции bRequestColor()
bRequestBlue () - возвращает синию составляющую цвета. Вызывается после функции bRequestColor()
bRequestFont(hWnd%=0) - вызвать дилоговое окно выбора шрифта. Загружает шрифт и возвращает его хэндл.
bRequestFile$(filter$="All (*.*)|*.*", save=0, hWnd%=0) - вызвать дилоговое окно открыть(сохранить) фаил. filter$ - маска фаилов, save - если равен 1 то будет показан дилог "сохранить как" иначе "открыть"
bMessageBox (message$,caption$,flag=MB_OK,hWnd=0) Показыает окно сообщения окна hWnd. message - текст сообщения, caption - заголовок сообщения, flag - тип окна сообщения (может принимать значение одной из констант MB_OK, MB_OKCANCEL, MB_YESNO, MB_YESNOCANCEL, MB_RETRYCANCEL, MB_ABORTRETRYIGNORE). Возвращает одно из значений констант : IDOK, IDCANCEL, IDABORT, IDRETRY, IDIGNORE, IDYES, IDNO.

- ини
bIniSetValue(section$, key$, value$, ini$="") - Записывает значение в ини файл. section - секция, key - имя значения, value - значение, ini - полное имя ини фала по-умолчанию равен BWA_INI_FILENAME$ = CurrentDir()+"BlitzWinApi.ini"
bIniGetValue$(section$, key$, default_value$=0, ini$="") - возвращает значение секции section и ключа key ини файла default_value - значение по умолчанию в случае отсутствия ини фаила и(или) секции и(или) ключа

- реестр
bRegSetValue(root, subkey$, key$,value$) - Записывает значение в реестр. root принимает значение одной из контсант: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_PERFORMANCE_DATA, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA
subkey - имя ветки, key - имя значения, value - значение
bRegGetValue$(root, subkey$, key$) - возвращает значение узаного ключа реестра.
bRegDeleteKey(root, subkey$) - удаляет ключ реестра, subkey - ключ
bRegDeleteValue(root, subkey$, key$) - удаляет значение из реестра, subkey - ключ, key - значение.

- действия
bWaitDrop$ (wait=10) - ожидание фаила. Возвращает имя брошеного фаила wait - количество запросов
bWaitEvent() - ожидает сообщения окна. Программа останавливается если нет никакого действия над окном. Функция возвращает сообщение принятое окном.
А также дает возможность прочитать дополнительные параметры wParam и lParam с помощью функций bGetEventWParam () и bGetEventLParam ()
bGetEvent(hwnd = 0) - Тоже самое что и bWaitEvent() отличие в том что программа продолжает выполнение даже если не принято никакого сообщения. А также дает возможность прочитать дополнительные параметры wParam и lParam с помощью функций bGetEventWParam () и bGetEventLParam ()
bGetEventWParam () - возвращает значение wParam. Вызывается после функции bGetEvent() или bWaitEvent()
bGetEventLParam () - возвращает значение lParam. Вызывается после функции bGetEvent() или bWaitEvent()
bSendMessage (hwnd, message%, wParam=0, lParam=0) - отправляет окну hwnd сообщение message. Вернет 1 если все прошло успешно и 0 ели что то не так. wParam и lParam - дополнительные параметры. Используйте bGetEventWParam () и bGetEventLParam () для получения значения этих параметров после вызова функции bGetEvent()

- меню
bCreatePopupMenu () - создает всплывающее меню и возвращает его хэндл
bRequestPopupMenu (menu, hwnd=0) - вызывает всплывающее меню. menu - хэндл меню. Возвращает id выбранного пункта
bDestroyMenu (menu) - удаляет меню из памяти
bAddMenuItem (menu,id,name$, class=MF_ENABLED) - добавляет пункт в меню. menu - хэндл меню, id - индетификатор пункта, name - имя пункта (то что будет отбражатся в меню), class - тип пункта, используйте MF_SEPARATOR для создания разделителя. Возвращает id пункта.
bAddPopupItem (menu,name$) - добавляет пункт со всплывающим меню. Возвращает хэндл пункта
bEnableMenuItem (menu,id) - включает выключенный пункт меню
bDisableMenuItem (menu,id) - выключает пункт меню
bCheckMenuItem (menu,id) - делает выбранным пункт меню. проверить статус пункта можно с помощью функции bGetMenuItemState (menu,id)
bUncheckMenuItem (menu,id) - делает невыбранным пункт меню
bGetMenuItemState (menu,id) - возвращает одну из констант состояния пункта: MF_ENABLED, MF_DISABLED, MF_UNCHECKED, MF_CHECKED

Некоторые функции остались внутренними и я их не документировал.

Большая просьба!!! если вы встречали интересный пример с использованием апи и считаете что он может понадобится пришлите мне на мыло исходный код (можно на VB или C++). Так же жду предложений о том каких функций вам не хватает и что бы вы хотели видеть. О багах репортировать сюда же или на мыло
Мое мыло: [email protected]

Как я понял LUK разработку забросил и ждать от него обновлений слишком оптимистично. Думаю на то были веские причины. Сам я продолжить работу с библиотекой не смогу, по ряду причин. В связи с этими событиями я открываю исходники библиотеки всем желающим http://github.com/devolonter/BlitzWinApi. Там же вы найдете саму библиотеку в собранном виде. В репозитории размещена самая последняя версия, поэтому возможны проблемы со старыми функциями, к сожалению протестировать возможности нет. Сообщения об ошибках оставляйте в баг-треккере, критичные баги будут устранены.

Всем спасибо!
Вложения
Тип файла: zip bwa_0.50.zip (45.4 Кб, 1080 просмотров)

Последний раз редактировалось moka, 19.10.2010 в 20:36.
(Offline)
 
Ответить с цитированием
Эти 22 пользователя(ей) сказали Спасибо devolonter за это полезное сообщение:
ABTOMAT (17.02.2008), ant2on (03.04.2008), Arton (18.12.2009), BlackDragon (19.02.2008), BlackOut (08.06.2010), DeadElf (13.06.2014), Dream (25.02.2010), Egor Rezenov (28.06.2011), falcon (06.11.2010), h1dd3n (21.02.2009), Harter (27.12.2009), is.SarCasm (30.12.2009), LUK (16.01.2008), mauNgerS (25.04.2012), moka (16.01.2008), Nex (17.12.2009), pentod65 (15.02.2009), Randomize (27.12.2009), Reizel (27.12.2009), Reks888 (07.05.2010), St_AnGer (08.11.2013), tormoz (17.02.2008)