Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 5)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoPlay Media Studio





  AutoPlay Media Studio - мощная программа для создания меню автозагрузки CD/DVD. Эта программа создаст все необходимые файлы для автозапуска и его графическую оболочку, и даже сама встроит в нее использованные в проекте нестандартные шрифты. Пользователю останется лишь записать готовый проект на свой CD/DVD.
  AutoPlay Media Studio не требует от пользователя никаких особых знаний и очень прост в освоении, имеет дружественный и интуитивно понятный интерфейс. Приложение, которое будет создано AutoPlay Media Studio в конце работы, представлено в виде объектной модели. Эта модель состоит из группы отдельных страниц. На этих страницах можно размещать объекты, которые могут представлять собой графику, музыку, текст, видео, Flash, HTML и пр. Любому элементу можно назначить определенное действие. Например, при наведении на рисунок курсора мыши, может возникать текст с комментариями, при нажатии на кнопку "Play" начнет проигрываться фильм и т.д. Программа предоставляет сотни различных действий, которые можно связать с объектами. В AutoPlay Media Studio присутствует большое количество уже готовых шаблонов.
  AutoPlay Media Studio имеет широкие возможности и богатый набор инструментов для разработки мультимедийных проектов. Использовать программу можно не только для создания файлов автозапуска, но и, например, для разработки интерактивного обучающего софта или мультимедийной презентации.

Язык интерфейса: Английский
Страница загрузки: AutoPlay Media Studio Commerical Trial 8.6


Скриптовый язык LUA:
на Lua.Org (Official) - на Lua.Ru

Ресурсы, посвященные AMS (содержат коллекции примеров, дополнений, уроков):
  • icynorth.com
  • imagine-programming.com
  • mindquake.com.br

    Инструменты:
  • ScriptOMatic Tool - создает скрипт обращения ко всем свойствам выбранного WMI-класса

    Ответы на наиболее часто задаваемые вопросы


    Раскраска AMS-кода для публикации на форуме от UModeL: версия 1 и версия 2.

  • Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:17 05-08-2012 | Исправлено: Komandor, 12:11 30-03-2024
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Да не совсем..  
    Дело в том что переменная _SourceFilename дает не всегда то что надо  

    Велика проблема, замени путь в этой функции на тот, что вернёт GetSFXPath.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 21:26 26-07-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 22:20 26-07-2017 | Исправлено: CryptoUsbtor, 00:38 27-07-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX

    Цитата:
    karpovukg
    (Наверняка KerberX предложит лучшее решение - подождем)

    Я относил это к вопросу ctaty3:

    Цитата:
    Ребят, такой вот вопросик. Нужно поле для ввода времени. Я задаю для объекта Input следующие настройки:
    1. Маска ввода: ##\:##\:##
    2. Символ заполнителя: 0
     
    Всё было бы хорошо, но я не могу понять, то ли это баг AMS, то ли я что-то делаю не так... Почему при вводе символов они смещаются на 1 символ вправо? Из-за этого я не могу правильно реализовать проверку, чтобы часы были не больше 23, а минуты с секундами не больше 59. Возможно ли как-то сделать, чтобы они не смещались? Подкиньте пожалуйста идей... Хотелось бы просто ввод времени удобным сделать.

    Я предложил ему свое решение, но предположил, что сможешь помочь именно с его реализацией.
     

    Цитата:
    karpovukg
    Вот не могу придумать, как сделать ввод справа налево, чтобы при вводе 1 - 9 автоматически получать 01 - 09.

    В общем-то этот вопрос из чистого любопытства - как реализовать такую задачу. Можно и без него обойтись. Но тем не менее: допустим мне надо задать время 1 час 5 минут. А в полях чтобы писалось 01 и 05 соответственно. То-есть я ввожу 1, подразумевая, один час, а в поле уже 01, а если мне в другой раз понадобится ввести не 1, а к примеру 15, то, введя следом за единицей пятерку, я получаю в поле уже 15. Понятно объяснил?
    В принципе если не интересно, не заморачивайся...

    Цитата:
    Это достаточно просто.

    Я сначала попытался сам решить задачу и пошел по этому же пути. Но потом подумал: а где гарантия, что первым будет найден именно повторно запущенный процесс? Мне же может быть предложено закрыть уже работающий процесс, с какими-то выполняемыми действиями и т п.

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 22:29 26-07-2017 | Исправлено: karpovukg, 22:34 26-07-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Я сначала попытался сам решить задачу и пошел по этому же пути. Но потом подумал: а где гарантия, что первым будет найден именно повторно запущенный процесс? Мне же может быть предложено закрыть уже работающий процесс, с какими-то выполняемыми действиями и т п.

    Никакой. Этот код просто проверяет что другая копия уже запущена и если так, то завершает сам себя. Он не выключит никакой другой процесс кроме самого себя.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 22:34 26-07-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    И действительно...
    И кажется даже понял почему. У ранее запущенного процесса меньше ID. Условие срабатывает только при нахождении второго процесса, более позднего. Так?

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 22:59 26-07-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Условие срабатывает только для второго процесса, так как одним из них будет он сам. Это нужно чтобы программа пропустила сама себя при поиске копий. Я мог просто вызвать из WinAPI функцию для получения ID текущего процесса, сравнивать ID и отсеивать текущей, но решил искать два совпадения.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 23:04 26-07-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Но я не вижу в коде ни одного оператора, указывающего на текущий процесс. Или это заложено в System.EnumerateProcesses()?
    Ну вот нипанимаю.
     
    Добавлено:
    Да и как

    Цитата:
    Это нужно чтобы программа пропустила сама себя при поиске копий.

    Она же сама себя должна закрыть...

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 23:14 26-07-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    karpovukg
    Конкретно функция IsAnotherInstanceRunning просто возвращает true если есть две или более копии текущего процесса. Она это смотрит используя эту строку:
    local sCurrentProcessPath = _SourceFolder.."\\".._SourceFilename;  
     
    Так как пути к образам будут одинаковы у всех копий.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 23:18 26-07-2017 | Исправлено: KerberX, 23:27 26-07-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Оооо! Понял. Спасибо.

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 00:08 27-07-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX

    Цитата:
    Так как пути к образам будут одинаковы у всех копий.

    C SFX не будет работать функа, так как путь отличается... (извлечение происходит в папку с индексом и каждый раз он новый)

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 18:15 27-07-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CryptoUsbtor
    Тогда придётся сканировать процессы по другим признакам. Например смотреть CRC файла образа, сравнивать с CRC образа текущего процесса и искать уже два совпадения по ним.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 18:54 27-07-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, помогите пожалуйста, уже какой день мучаюсь... Мне необходимо, чтобы выделенные элементы в ListBox удалялись правильно из массива плейлиста и из самого объекта, обязательно выделяя при этом имеющуюся строку (вместо удалённой) на позицию больше, меньше, или равную удалённой. Вот мой код, что я делаю не так? Просто либо неправильно выделяются элементы, либо неправильно удаляются из массива...
     

    Код:
    local tSelected = ListBox.GetSelected("Playlist");
     
    if (tSelected ~= nil) then
        for i = ListBox.GetSelectedCount("Playlist"), 0, -1 do            
            local nIndex = tSelected[i];
            
            ListBox.DeleteItem("Playlist", nIndex);    
            if (i == 1) then
                ListBox.SelectItem("Playlist", 1);
            elseif (i == #tFiles) then
                ListBox.SelectItem("Playlist", i - 1);
            else
                ListBox.SelectItem("Playlist", i + 1);
            end
            if (i > 0) then
                tFiles[nIndex] = nil;
            end    
        end
    end

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 12:59 31-07-2017 | Исправлено: ctaty3, 14:02 31-07-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ctaty3
    Не стал разбираться что там у тебя не так и написал новый код. Попробуй. Работает и для листбокса с мультивыбором.

    Код:
    local tSelected = ListBox.GetSelected("Playlist");
    if (tSelected ~= nil) then
        for i = #tSelected, 1, -1 do
             ListBox.DeleteItem("Playlist", tSelected[i]);
             table.remove(tFiles, tSelected[i]);
        end
     
        ListBox.DeselectItem("Playlist", -1);
        local nCount = ListBox.GetCount("Playlist");
        local nSel = tSelected[1] - 1;
        if (nSel <= 0) then
            nSel = 1;
        elseif (nSel > nCount) then
            nSel = nCount;
        end
        ListBox.SelectItem("Playlist", nSel);
    end

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 18:51 31-07-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerbeX
     
    Спасибо тебе большущее!!! Выручил! Теперь я увидел свою ошибку...)

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 14:20 01-08-2017 | Исправлено: ctaty3, 14:20 01-08-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX Привет!
    Всё меня мучает вопрос Горячих клавишей в окне проекта и отказ их работы после нажатия на любой CheckBox. Все мои действия, так и не принесли решения этой проблемы AMS...
    Может можно добавить Subclass на всё окно и считывать горячие клавиши в нем?
    Только не знаю, как то реализовать...
    У меня в проекте, Subclass уже навешан (Drag&Drop), но добавление туда строки:

    Код:
    if uMsg == WM_KEYDOWN then
        if wParam == 0x9 then

    не дает эффекта считывания горячих клавиш...

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 12:22 25-08-2017 | Исправлено: CryptoUsbtor, 12:23 25-08-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Всё меня мучает вопрос Горячих клавишей в окне проекта и отказ их работы после нажатия на любой CheckBox.  

    Потому что когда ты нажимаешь на чекбокс он получает фокус и все нажатия клавиш передаются ему. Так что вешай субкласс и на него если если хочешь перехватывать нажатия там.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 20:03 25-08-2017 | Исправлено: KerberX, 20:05 25-08-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Так у CheckBox нет hWid...
    А возможно ли вернуть фокус обратно?
     
    Добавлено:
    Нашел только, считывание через таймер, но это никак не устраивает...

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 09:41 27-08-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CryptoUsbtor
    У него есть HWND.
    Подробнее...
    В справке для CheckBox.GetProperties не упоминается поле WindowHandle, тем не менее оно там есть, просто не документировано.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 23:46 27-08-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX  
    CheckBox у меня много... Надо как то после нажатия считывать его hWid и навешивать сабкласс...
    Или пробежаться по всем CheckBox и навешать на все сразу?
    Хочется готовое решение, я думаю что было бы полезным многим...
     
    Добавлено:
    В принципе, что то получилось:

    Код:
    local WM_KEYDOWN = 256;
    local hWnd = CheckBox.GetProperties("2xBox").WindowHandle;
    local s = Subclass.Create(hWnd, function(hWnd, uMsg, wParam, lParam)
      if(uMsg == WM_KEYDOWN)then
        Dialog.Message("Test", "Key Code:"..wParam);
      end
      return Subclass.OldWinProc(hWnd, uMsg, wParam, lParam);
    end);

    Выполняется один раз, потом фокус возвращается главному окну.
     
    Добавлено:
    Что делать при переходе на другую страницу или выходе?  
    Когда удалять сабкласс?
     
    Добавлено:
    ... Легче не стало... При смене фокуса на другие объекты, HotKey перестает работать....
    Не навешивать же на все объекты сабкласс...  
    Или можно? (там где нет On Key)

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 08:17 28-08-2017 | Исправлено: CryptoUsbtor, 10:06 28-08-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашел dll но она добавляет Глобальный HotKey, то есть считывает нажатие клавиш, даже если окно программы не в фокусе...  
    Неужели нельзя нормально навесить HotKey на окно программы?

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 16:56 28-08-2017
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

    Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 5)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru