Библиотека BlitzWinApi
Вложений: 1
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. Там же вы найдете саму библиотеку в собранном виде. В репозитории размещена самая последняя версия, поэтому возможны проблемы со старыми функциями, к сожалению протестировать возможности нет. Сообщения об ошибках оставляйте в баг-треккере, критичные баги будут устранены. Всем спасибо! |
Ответ: Библиотека BlitzWinApi
Цитата:
(З.Ы. Если в посте такая команда имеется - звыняйте, щас час ночи, уже засыпаю, мог и пропустить...) P/P/S/ За либу спасибо, может пригодиться! :super: |
Ответ: Библиотека BlitzWinApi
Цитата:
пользуясь случаем сообщаю о баге функции bShell она не запускает приложения блиц в полноэкранном режиме другие приложения например калькулятор запускаются без проблем... своими силами разобраться так и не смог... если кто может помочь буду очень рад :) |
Ответ: Библиотека BlitzWinApi
Работа над проектом прекращается... Да и вобще вся работа прекращается на год я ухожу в армию... если кому интересна судьба проекта стучитесь в аську дам исходник... может кто продолжит... извиняйете если что
|
Ответ: Библиотека BlitzWinApi
Это заговор минобороны против отечественного геймдева... :(
|
Ответ: Библиотека BlitzWinApi
Цитата:
Самое страшное, что и мне это в скором времени тоже грозит :blink: Эхх, тяжела жизнь русского геймдевелопера :russian: Бывай, потом скажешь, как оно там и стоит ли перед этим писать завещание... З.Ы. За исходниками обращусь, хоть сяхи и не розумею, но за год, может, научусь... |
Re: Ответ: Библиотека BlitzWinApi
Цитата:
|
Ответ: Библиотека BlitzWinApi
devolonter, классная либа! Респект!
Я бы еще хотел функцию добавления иконки в трей ;) |
Ответ: Библиотека BlitzWinApi
Всем привет, кого давно не видел кого совсем не видел :)! Есть ли смысл продолжать работу над либой или велосипедов уже достаточно? ;)
|
Ответ: Библиотека BlitzWinApi
Цитата:
Официально =), заявляю, что проект не умер. В данный момент продолжением разработки библиотеки занимаюсь я, LUK. План таков: 1) Оптимизация функций, написанных еще devolonter'ом (~70%) 2) Создание нормальной справочной системы к библиотеке (~15%) 3) Расширение функционала (добавлю, то, чего считаю не хватало в библиотеке - по крайней мере мне) (~10%) Потом будет проверка и исправления самого devolonter'а (по его желанию), а затем и релиз. Он планируется к 1 числу 2010 года - раньше извиняйте, никак - сессия скоро =) Далее планируется: 1) Тестирование на совместимость с Vista/7 (думаю, придется попыхтеть над работоспособностью некоторых функций) (~0%) 2) Хедеры для самого С++, а так же для других языков (если будут запросы). P.S. Так же принимаются предложения по функционалу. P.S.S. Сворачивание в трей будет - можете не предлагать - уже учел =) |
Ответ: Библиотека BlitzWinApi
неплохие новости !! :)
|
Ответ: Библиотека BlitzWinApi
Цитата:
Цитата:
Цитата:
|
Ответ: Библиотека BlitzWinApi
Гм.....Расскажите пожалуйста, возможно ли через API рисовать картинки на рабочем столе??? Желательно анимированные...И с маской.....
|
Ответ: Библиотека BlitzWinApi
Если не найдешь ответа, то вот в этой книжке видел пример с помощью маскированного окна, дед мороз с прозрачностью вроде.
http://codpro.ru/content/программиро...акера-м-фленов |
Ответ: Библиотека BlitzWinApi
Не знаю, хорошая это новость или плохая. Как я понял LUK разработку забросил и ждать от него обновлений слишком оптимистично. Думаю на то были веские причины. Сам я продолжить работу с библиотекой не смогу, по ряду причин. В связи с этими событиями я открываю исходники библиотеки всем желающим http://github.com/devolonter/BlitzWinApi. Там же вы найдете саму библиотеку в собранном виде. В репозитории размещена самая последняя версия, поэтому возможны проблемы со старыми функциями, к сожалению протестировать возможности нет. Сообщения об ошибках оставляйте в баг-треккере, критичные баги будут устранены.
Всем спасибо! P.S. Кто-нибудь знает, как исправить текст поста? Хотел бы ссылку на гитнаб в него добавить. Модератор: поправил вручную. Редактирование доступно только на определённый срок от постинга сообщения. |
Часовой пояс GMT +4, время: 01:47. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot