Комментарий модератора
LinXP:
на эмуляторе и так все доступно доступно
|
_SIL_
А есть версия с поддержкой *.png не упакованная UPX-ом? |
_RUSER_, :shock: ..еще не проснулся?
Код:
upx -d SysInfo+PNG.exe |
_SIL_
На сколько мне известно обновить окно SI с помощью скрипта можно 2-мя способами: 1. Дать команду Run(........"SI.exe") (да, окно обновляется, но по сути запускается ещё одно..., поверх предыдущего...) 2. Дать команду MouseClick(xx,xx), предварительно прописав в ***.ini SI кнопку с координатами (xx,xx) и командой NewIni=***.ini (да, окно обновляется, но звук клика по экрану не нужен...) 3. ??? Существует ли 3-ий способ обновить окно SI с помощью скрипта не используя предложенные 2 варианта... ??? |
_RUSER_, Можно попробовать скрыть и сразу отобразить требуемое окно.
Цитата:
Других способов вроде нет кроме как из скрипта вызвать специально написанный экзешник, который вызовет RedrawWindow(...). Как вариант этот экзешник может изменить размер окна на 1 пиксель и потом обратно установит исходный размер, что тоже приведет к перерисовке нужного окна. Если ты имел ввиду обновление окна после правки конфига, то никаких других способов нет. Нужно запустить новый SI, а тот что работал со старым конфигом - прибить. |
Цитата:
В общем то через MouseClick... всё замечательно работает, если бы не звук щелчка - может от него можно как то избавиться? Просто я думал можно дать команду на запуск SI с определёнными параметрами Run(........"SI.exe".........) которая бы просто обновила окно SI... Например в iPhoneToday можно дать команду на перерисовку иконок Run( "....iPhoneToday.exe", "--relaunch" ) или Run( "....iPhoneToday.exe", "--reload" ) , ну и другие команды типа Run( "....iPhoneToday.exe", "--exit" ) и т.д.... |
Про звук не скажу, не знаю. Лично я бы не пользовался MouseClick+NewIni.
Я бы написал маленький экзешник и он бы 100% корректно сделал бы то, что мне нужно. На скрипте же можно попробовать как-то так: Пример Код:
menu=/sdmms/mymenu/si.exe |
А есть-ли возможность сделать доступными PNG на эмуляторе для PC?
Комментарий модератора
LinXP:
на эмуляторе и так все доступно доступно
В выложенных файлах эмулятора нет. Мой эмулятор v1.6.1 PNG не поддерживает. Потому и спрашиваю...
Комментарий модератора
Спасибо, уже разбираюсь |
После установки новой версии у меня работают ТОЛЬКО относительные пути к файлам. По старым (абсолютным) линкам выдает ошибку. Особой проблемы, как-бы, в этом нет, но это нормально?
P.S. Новую версию устанавливал путем копирования одного файла-экзешника SysInfo+PNG.exe. Упоминаемые DLL уже были в системе. Ничего добавлять больше не нужно? PNG работает. |
Спасибо автору [[Ссылки могут видеть только зарегистрированные пользователи. ]]>
Я раньше и сейчас считаю, что в простоте и гибкости SI нет равных, а теперь и проблема с повышенным весом решена. Спасибо польшое!!! За это можно и бакал поднять:pivo: Попутно задам вопрос, Возможно ли реализовать, что бы выполнялясь не одна команда NewIni, а несколько? Например экран назбит на две части и соответственно имеет два разных ИНИ, при первичной загрузке это реализовать можно простым указанием их в SysInfoSettings.ini, например, Inis\Bar-1.ini Inis\ButtEdit-1.ini но для дальнейшего продолжения этой цепочки нужно использовать в каждом ИНИ свои отдельные кнопки, при этом делать еще одну, под которой лежит скрипт, кторый эмулирует нажатие невидимых кнопок, которые в свою очередь и переводят в реальности оба ИНИ на другие (последующие) ИНИ файлы. Тоесть если используется одна программа SI и несколько ИНИ одновременно и при нажатии на одну "главную" кнопку выполнялась бы команда не для одного, а для этих нескольких ИНИ файлов. И еще насколько это проблематично, что бы задний фон тоже поддерживал прозрачность, а то приходится выкручиваться, создавая этот эфект псевдопрозрачности наложением другой картинки, созжающий этот эфеккт. [[Ссылки могут видеть только зарегистрированные пользователи. ]]> |
Norm, по бошьшому счету все что можно было сделать - сделано. Указать инишник можно только через параметр newini. А этот параметр подразумевает указание только 1 инишника.
По поводу прозрачности фона. Нельзя. Я пытался исхитриться, но... Тут основная проблема в том, что прозрачные картинки прога рисует не обычными системными способами(которые у многих не работают), а своей внутренней подпрограммой. Эта подпрограмма заточена под секцию iconxpbutton и использовать ее другими секциями никак не получается. Чтоб другие секции рисовали картинки с прозрачностью нужно такие подпрограммы писать для каждой секции. Это сложно. Конечно при БОЛЬШОМ желании это сделать можно, но я решил что оно того не стоит, тк скороть значительно снизится да и жрать памяти менюшка станет заметно больше чем сейчас. Добавлено через 1 час 27 минут Цитата:
|
Понятно, но вот может это получится, что было бы тоже очень полежным. В инструкции от разработчика я где-то читал что строка Interval= может применяться в любом из блоков ИНИ файла. Во всяком случае я так понял. Обрадовшись решил проверить, но это оказалось не так. Данный параметр работает только на часах и информационных блоках системной информации. Очень жаль, поскольку это могло бы реально оживить оболочку. Точнее я это уже реализовал у себя. Происходит обычное актуализирование тогоже ИНИ, который уже загружен. Всё это делается через скрипты и эмуляцию нахатий на невидимые кнопки. Но вот было бы круто, если бы программа могла сама актуализировать блоки с отображение, например, текста или картинок. Тогда можно бало бы создавать анимацию или например текст с бегушей строку. Тоесть скрипт меняет названия картинок или текста, а программа сама всё это актуализирует в том блоке где указан параметр Interval= И еще вопрос, но это у же не как уж и нужная функция, но всё же В SI есть часы, а можно ли сделать таймер с отображением обратного отсчета, по завершении которого выполнялась та или иная команда? В SI у самой программы используются с глубиной цвета всего 4бит, но есть версии (наверное ломаные) которые имеют 32-х битные иконки. Можешь ли в ты в своей версии сделать 32 ну или хотя бы 8 [[Ссылки могут видеть только зарегистрированные пользователи. ]]> |
Тестирую данную версию
Естественно стало намного лучше, хотя при это приходится перделывать некоторые секции для ини (удалять параметры SizeNormal= и SizePushed=), которые в принципе не нужны. Нельзя запускать файлов скриптов *.mscr по относительному пути [[Ссылки могут видеть только зарегистрированные пользователи. ]]> Передача параметра в виде пути к скрипту не работает, точнее МортСкрипт не находит файл не по абсолютному ни по относительному пути. Кроме того сама структура и редактирование ИНИ посредством скриптов становится сложнее. Command="..\Scripts\MortScript.exe" \My Flash Disk\NMenu\Filling\Scripts\TB_HotKey.mscr или Command="..\Scripts\MortScript.exe" ..\Scripts\TB_HotKey.mscr По относительному пути возможен запуск только ЕХЕ-файлов [[Ссылки могут видеть только зарегистрированные пользователи. ]]> Цитата:
|
Цитата:
Цитата:
Подобное я уже пробовал проделывать, но для других целей. При этом пробовал выяснить какое окно, какому процессу принадлежит, но эти "пустыщки" постоянно мешали это правильно определить, точнее скрипт почемуто пустышкам присваивал неправильный процесс. Здесь на, мой взгляд, будет хорошо работать такая схема: Созадать два каталога 1 и 2 и в каждый положить SI Проверяем какой из процессов запущен Запускаем один, делаем запись в ИНИ, запускаем второй, Ждем полной загрузки убиваем первай (обязательно указать полный путь к файлу) |
Цитата:
... postmessage(wnd, 16, 0, 0) wnd- это число, а не строка. Не пробовал, но идея правильная, должно работать. PS. Да, действительно не работает, тк в мортскрипте wnd - титл окна а не его хендл. |
Текущее время: 04:58. Часовой пояс GMT +3. |
|
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot