Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Тут на форуме не раз возникали замечания на тему, что в NeoBook не хватает тех или иных мелких, но иногда полезных функций. Мне думается, что следует попытаться исправить эту ситуацию с помощью плагина, т.к. VB или Java знают далеко не все необукеры, к тому же, на мой взгляд, плагин намного более эффективное средство нежели чем, например, тот же VBS. С учетом последнего вопроса об анимации внешних необушных окон, решил реанимировать свой самый первый плагин, который давно-давно делал.
В архиве (см.прикрепление) находятся две версии плагина (Design и Runtime), подобие справки, и демка.
27.02.2011
Мышь и клавиатура
zmShowMousePointer - Показать/Скрыть указатель мыши. zmSetMouseMonitor - Установить монитор мыши. zmConfigMouseMonitor - Конфигурирование монитора мыши. zmDelMouseMonitor - Удалить монитор мыши. zmKBChangeLayout - Изменить раскладку клавиатуры для текущего активного окна. zmKBGetLayout - Определить раскладку клавиатуры для текущего активного окна.
zmColorBox - Отобразить диалог выбора цвета. zmFontBox - Отобразить диалог выбора шрифта. zmTrayIcon - Создать в системном лотке значок приложения. zmTrayBalloon - Отобразить сообщение в системном лотке. zmDeleteTrayIcon - Удалить значок из системного лотка. zmExitWindows - Завершение работы: выключение компьютера / перезагрузка /завершение сессии.
Окна
zmFindWindow - Найти окно по заголовку и имени класса. zmGetWindowHandle - Получить дескриптор (HWND) окна по заголовку. zmGetWindowTitle - Получить имя класса и/или текст заголовка окна. zmSetWindowTitle - Установить новый текст заголовка окна. zmShowWindow - Скрыть/Показать/Свернуть/Развернуть/Закрыть окно. zmSetWindowPos - Установить положение окна. zmSetWindowTransparent - Установить уровень прозрачности окна (Windows 2000 и выше). zmCancelWindowTransparency - Отменить свойство прозрачности окна и сделать его непрозрачным (W2k и выше). zmIsWindow - Определить состояние окна (видимость, свернуто, развернуто, и т.п.). zmEnableWindow - Сделать активным неактивное окно. zmDisableWindow - Сделать неактивным окно. zmGetWindowRectangle - Получить положение и размер окна. zmGetForegroundWindow - Получить дескриптор (HWND) верхнего окна в системе. zmSetForegroundWindow - Сделать верхним в системе и активизировать указанное (по дескриптору) окно. zmGetExeNameByHandle - Получить имя файла приложения по дескриптору окна. zmGetDesktopRectangle - Получить координаты области рабочего стола, не скрытой панелью задач.
Окна NeoBook
zmSetCustomWindowPos - Установить положение и размеры внешнего окна (CustomWindow) NeoBook . zmShowCustomWindow - Скрыть/Показать/Свернуть/Развернуть/Закрыть внешнее окно NeoBook. zmIsCustomWindow - Определить состояние внешнего окна NeoBook (видимость, свернуто, развернуто, и т.п.). zmEnableCustomWindow - Сделать активным неактивное внешнее окно NeoBook. zmDisableCustomWindow - Сделать неактивным внешнее окно NeoBook. zmSetCustomWindowTransparent - Установить уровень прозрачности внешнего окна NeoBook (W2k и выше). zmCancelCustomWindowTransparency - Отменить свойство прозрачности внешнего окна NeoBook и сделать его непрозрачным (W2k и выше). zmAnimateCustomWindow - Скрыть/Показать с анимационным эффектом внешнее окно (CustomWindow) NeoBook. zmSetCustomWindowMask - Наложить маску на внешнее окно (CustomWindow) NeoBook. zmShowInRectangle - Отобразить внешнее окно (Custom Window) в объекте прямоугольник
Главное окно
zmSetOnMoveSize - Назначить подпрограмму для события перемещения и/или изменения размера главного окна.
Файлы и папки
zmFolderSize - Определить размер в байтах указанного каталога (папки). zmDeleteFolder - Удалить папку (в т.ч. и непустую). zmOpenWithDefault - Открыть файл в программе "по умолчанию". zmCreateLink - Создать ярлык. zmFileGetAtrribute - Получить указанный атрибут файла или папки. zmFileSetAtrribute - Установить/Снять указанный атрибут файлу или папке. zmClearIECache - Очистить временную папку Internet Explorer.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Вс, 12 Августа 2012, 16:26 | Сообщение # 1291
Участник
Проверенные
Сообщений: 154
Offline
Quote (Peter)
Спасибо, конечно, на добром слове, но сам я свое творение вовсе не считаю замечательным (скорее - наоборот)
Извините за возражение, но пользователям со стороны виднее. А Вам как автору естественно будет казаться что он не совершенен, так как человек всегда стремится к улучшению плодов своего труда
Ну и хотелось бы конечно, что бы у Вас появилось желание продолжать работу над плагином
Дата: Пн, 13 Августа 2012, 13:47 | Сообщение # 1292
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (UIYOYXB)
что бы у Вас появилось желание продолжать работу
Я не "забил".
Поосто вот все думаю: каких бы препонов понаставить для супероси, да поизящнее?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Сб, 22 Сентября 2012, 02:46 | Сообщение # 1295
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (Developer)
до сех пор 2011.. Эх
Это я с разрабов NB беру пример!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Пн, 10 Декабря 2012, 08:42 | Сообщение # 1298
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
команда GetFileNameByHandle - диалоговое окно от другой команды - zmGetDesktopRectangle неплохо бы еще добавить получение hWnd главного окна приложения по имени и Id процесса Как задавать вопросы
Дата: Пн, 10 Декабря 2012, 12:09 | Сообщение # 1299
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (DEMBEL)
диалоговое окно от другой команды
Вполне возможно, т.к. были там нестыковки, но сейчас у меня отображается все верно, правда и версия плагина у меня несколько иная.
Quote (DEMBEL)
hWnd главного окна приложения по имени и Id процесса
Я посмотрю чего там можно придумать. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Пн, 10 Декабря 2012, 14:59 | Сообщение # 1300
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Quote
Естесственно, что если команде zmFindWindow подсунуть в качестве аргумента "Notepad++", то ничего найдено не будет, а вот zmGetWindowHandle найдет, т.к. ищет совпадения по части заголовка, правда, в последнем случае надо иметь ввиду, что если существуют одновременно два окна в заголовке которых содержится искомое "совпадение" (тот же Notepad++), то будет найдено первое окно "по списку".
А у тебя идея не возникла сделать поиск всех окон если существуют одновременно два окна и более и возвращать в массив? Не хочешь читать хелп?
Дата: Пн, 10 Декабря 2012, 20:54 | Сообщение # 1301
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (mishem)
у тебя идея не возникла сделать поиск всех окон
Когда-то приходила, но на это я пойтить не могу! Поскольку это - очень ответственная работа, к которой можно приступать только после того, когда перешагнешь рубеж в 40-50 успешно сделанных (и проданых!) плагинов, как, например, у известного и популярного буржуинского девелопера.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Вт, 15 Января 2013, 14:10 | Сообщение # 1302
Участник
Проверенные
Сообщений: 298
Offline
Доброго времени суток. Интересен такой вопрос, а возможно ли получить этот самый дескриптор, который HWND, только по имени класса? Спрашиваю здесь, т.к. использую в основном этот плагин в данное время. Да и нигде чего-то подобного не нашла. Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Дата: Вт, 15 Января 2013, 19:13 | Сообщение # 1303
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
только по имени класса? Тогда учитывайте что открытых окон принадлежащих одному классу может быть целая куча. Для конкретной идентификации окна один класс не годится, только как вспомогательный параметр. Как задавать вопросы
Дата: Вт, 15 Января 2013, 19:25 | Сообщение # 1304
Участник
Проверенные
Сообщений: 298
Offline
Хм... Тогда наклевывается вопрос, а собственно что это имя класса окна? Сегодня целый день пыталась понять это, но наверное, что-то не то себе напредставляла. Я так поняла, что у каждой программы свой класс. И гле вообще про это можно почитать подробнее и понятнее? Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Когда все же дойдут руки до этого плагина, то, возможно, добавлю "оконных функций". - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Ср, 16 Января 2013, 00:08 | Сообщение # 1306
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
по русски _http://www.firststeps.ru/mfc/detail/r.php?27 в общем тип или модель окна описывающая его св-ва и поведение. Есть набор заранее описанных системных классов, есть самодельные. По аналогии с web окно это html а класс это css. Все основные визуальные элементы (списки, кнопки, панели и пр) это тоже окна, только другого стиля (класса). Как задавать вопросы
Команда zmFindFiles Добавить возможность указать маску файлов которые не надо искать. К примеру найти все кроме *.txt. Или все кроме *.nbp;*.nbr;*.txt Как то так... Не хочешь читать хелп?
В принципе, ничего сложного, но... как-то необычно...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Пн, 08 Апреля 2013, 02:46 | Сообщение # 1309
Эксперт форума
Модераторы
Сообщений: 5942
Offline
Цитата (Peter)
но... как-то необычно...
Ну да... Но вот столкнулся что нужно найти именно все, кроме некоторых.
В данный момент то решение нашел, но как предложение... Было бы удобно. Между прочим полез перепроверить, а мож есть такая функция?
Добавлено (08 Апреля 2013, 02:46) --------------------------------------------- Peter, сижу с монитором мыши мудрю. Короче проблема в том, что нажатие и удержание левой мыши это не одно и то же. Ну и все остальные не только левая соответственно тоже.
К примеру мне надо что бы листбокс если он открыт при щелчке закрывался, но если скрол тянулся левой мышью оставался открытым.
Мож я сейчас просто хреново соображаю, мысль крутится а поймать не могу... Но наверно все же добавить события на удержание еще нужно? Как думаешь?
Тоесть назначать [zmMouseCode] zmLBD только после того как было определено что мышь не удерживалась определенное время, а до этого [zmMouseCode] должна быть пустой или через определенное время иметь какое то другое значение.
Дата: Пн, 08 Апреля 2013, 22:17 | Сообщение # 1310
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Цитата (mishem)
я сейчас просто хреново соображаю, мысль крутится а поймать не могу
Да у меня тоже, в последние дни, с соображаловкой как-то не очень ладится. Весна, наверное...
Цитата (mishem)
наверно все же добавить события на удержание еще нужно? Как думаешь?
Оно уже имеется - это именно LBD (RBD). Попробуй нажать кнопку мыши и поводить курсор.
Цитата (mishem)
zmLBD только после того как было определено что мышь не удерживалась определенное время,
Подобную вещь ты можешь попробовать реализовать и средствами самой NB через таймер, отслеживания координаты курсора. От события же первоначального нажатия мыши никуда не денешься по-любому. Помнится я пробовал сделать "перемещение мыши", но что-то там не срасталось, и я забросил идею. Этот "монитор мыши" нужно вообще полностью переделывать, т.к. сейчас он представляет собой мои фантазии на тему хука, а нужно попробовать не изобретать велосипед и сделать все классически. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Вт, 09 Апреля 2013, 05:32 | Сообщение # 1311
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Цитата (mishem)
К примеру мне надо что бы листбокс если он открыт при щелчке закрывался, но если скрол тянулся левой мышью оставался открытым.
по идее, можно самому отследить, в момент LBD (RBD) фиксировать координаты мыши, и если в момент LBU (RBU) они изменились - значит мышь "тянули" а не щелкнули Как задавать вопросы
Петр, есть проблема с zmFindFiles Если искать один файл и сохранив его путь в переменной попробовать его прочитать, то выдает ошибку что не возможно открыть файл бла, бла, бла ... Проблема в том что в конце пути остаются символы переноса строки. #13#10 Не хочешь читать хелп?
Проблема в том что в конце пути остаются символы переноса строки. #13#10
ОК, принял к сведению. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Вообще то это надо еще проверить. У меня почему то НБ читала через раз этот путь с Рабочего стола. Мож у меня че не так было. Но все равно в конце эти символы не к чему. Не хочешь читать хелп?
эти символы были к тому, чтобы результаты поиска автоматом вставлялись и отображались в ListBox, как переменная. Не надо ничего убирать, всегда так хочу то хочу это и возвращаешься к тому с чего начали. И команды нб тоже в таком же "формате" выдают результат. Хотя тут надо просто в последнем результате убирать уже ненужный 13/10-"разделитель" Как задавать вопросы
Ты не понял. В плагине можно сделать после поиска удалять последние символы перевода строки. Я это могу предусмотреть, ты можешь, другой не сможет. Не полность убрать перевод строки, а только в конце. Хотя попробуй найти один файл и из этой же переменной его открыть. Выдаст ошибку? В конце пути будет перенос строки. У меня выдавало ошибку. Не хочешь читать хелп?
Гм... Вообще-то, у этой команды есть опции удаления папки: "в корзину" и "подтверждение":
Все работает.
- Алло, это компьютерная помощь? - Да. Что у вас случилось с компьютером? - Он не грузится? - А на мониторе что-нибудь появляется? - Да, просит "выньте дискету". - Ну, вы её вынули? - Знаете, я как-то не догадался...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться