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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SergD29
    Вот если прокомментировать твой код, то

    Код:
    function save_in_linkarray (n,e_URL)  
    nArray={}; -- создаем пустую таблицу nArray
    tblMenu={}; -- создаем пустую таблицу tblMenu
    --tblMenu[1]={};  
    --tblMenu.number ={};  
    --local n = 1;  
    linkArray={}; -- создаем пустую таблицу linkArray
    e_URL = IExplorer.GetLocationURL("Web1"); -- получаем URL
      res_fin = String.Find(e_URL, "AutoPlay/Docs/Start.html", 1, false); -- ищем в e_URL совпадение
        if res_fin > 0 then n=1; -- если найдено присваиваем n=1
        else -- иначе  
        for i = 1, 2 do  -- цикл от 1 до 2
        n=nArray[i]; -- nArray[i] таблица пустая null, значение в n будет перезаписано 2 раза, вообще не понятно зачем это нужно, тут вообще будет ошибка на ошиибке ибо не известна размерность массива nArray[i] и так как таблица возвращает null то и переменной n больше не существует
        end  
         --buf_menu=tblMenu;  
         --n = buf_menu.number;  
          --RichText.SetText("RichText7",n, false);  
          for i = n, n+1 do -- здесь перменной n может уже и не быть  
    ...

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 01:09 03-10-2012
    SergD29

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    все равно пишет что n равно nil
     
    Добавлено:

    Цитата:
    for i = 1, 2 do  -- цикл от 1 до 2
        n=nArray[i]; -- nArray[i] таблица пустая null, значение в n будет перезаписано 2 раза, вообще не понятно зачем это нужно, тут вообще будет ошибка на ошиибке ибо не известна размерность массива nArray[i] и так как таблица возвращает null то и переменной n больше не существует  

    почему пустая, я же в низу присвоил ей nArray=n;, хорошо если написать n=nArray[1] без for результат тот же    

    Всего записей: 15 | Зарегистр. 16-09-2012 | Отправлено: 01:11 03-10-2012
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SergD29
    Короче, здесь

    Цитата:
    for i = 1, 2 do  
            n=nArray[ i];
        end

    ты присваиваешь n значение nil, ибо условие  

    Цитата:
    if res_fin > 0 then

    в текущей момент не выполняется, не важно до этого выполнялось оно или нет.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 01:26 03-10-2012
    ra700

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возвращаясь к прошлому
    Цитата:
    Этот скрипт умеет/должен извлекать устройства типа DRIVE_REMOVABLE (например, флешки, external HDD)
    есть ли возможность силами AMS считать ID материнки?

    Всего записей: 76 | Зарегистр. 08-05-2007 | Отправлено: 10:17 03-10-2012
    Zloy_Gelud



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

    Цитата:
    есть ли возможность силами AMS считать ID материнки?

    Есть, если ты сам найдешь пример в инете как получить ID мат. платы на любом другом языке программирования.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 10:35 03-10-2012
    ra700

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тут есть для С++ и Делфи.
    Правда, не готовый скрипт, а ключевая информация.
    Я не точно раскрыл задачу. Необязательно только к серийн.номеру материнской платы, а может есть другие идеи по поводу привязки софта к железу компьютера.
    Тут еще пример.

    Всего записей: 76 | Зарегистр. 08-05-2007 | Отправлено: 11:06 03-10-2012 | Исправлено: ra700, 11:10 03-10-2012
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ra700
    Ключевую информацию я и так знаю, ты мне покажи код, где именно ID материнки получают.
     
    Добавлено:
    А вообще, я на предыдущей странице специально утилиту выложил для работы с WMI. Выбирай нужный класс, смотри свойства и вперед.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 11:09 03-10-2012
    ra700

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Получить номер материнской платы и номер диска .
     
    Добавлено:
    Zloy_Gelud, благодарю!
    Мои возможности пока очень скромны, постараюсь "переварить"

    Всего записей: 76 | Зарегистр. 08-05-2007 | Отправлено: 11:13 03-10-2012
    Zloy_Gelud



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

    Цитата:
    Получить номер материнской платы и номер диска .

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

    Цитата:
    А вообще, я на предыдущей странице специально утилиту выложил для работы с WMI. Выбирай нужный класс, смотри свойства и вперед.

    Нашел в инете подходящий вариант, запустил мою утиль, выбрал класс, получил код для AMS. Куда уже проще.
     
    Добавлено:
    Я надеюсь, что твой проект реально стоит той защиты, над которой ты работаешь.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 11:18 03-10-2012
    ra700

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

    Цитата:
    Я надеюсь, что твой проект реально стоит той защиты, над которой ты работаешь.

    В моем случае задача стоит не ЧТО защитить, а КАК защитить.
    У каждого свои причуды, у меня вот сидит жук и точит:"а слабо сделать?" Делать то, что умеешь делать - это одна задача, а сделать то, что не умеешь - это несколько другое.
    Вот и сижу, е...у мозг себе и людям...
     
    Zloy_Gelud, (кстати, почему злой? По-моему, добрый), спасибо, утиль - супер!!!

    Всего записей: 76 | Зарегистр. 08-05-2007 | Отправлено: 11:34 03-10-2012 | Исправлено: ra700, 11:53 03-10-2012
    Zloy_Gelud



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

    Цитата:
    (кстати, почему злой? По-моему, добрый)

    Это отдельная история.. да обсуждение здесь моего ника совсем неуместно.

    Цитата:
    спасибо, утиль - супер!!!

    Рад, что пригодилась.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 12:06 03-10-2012
    ra700

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кому интересна эта тема, вот результат:
     
    OnClick:  

    Код:
    function Escape(v)
        if (v == nil) then return ""; end
        if (type(v) == "table") then return Table.Concat(v, ", "); end
        if (type(v) == "boolean") then
            if (v == true) then
                return "Yes";
            else
                return "No";
            end
        end
        return v;
    end
     
    function WMIDateStringToDate(dtmDate)
        if dtmDate then
            dtmDate = tostring(dtmDate);
            return (String.Mid(dtmDate, 7, 2) .. "/" ..
                    String.Mid(dtmDate, 5, 2) .. "/" ..
                    String.Left(dtmDate, 4) .. " " ..
                    String.Mid(dtmDate, 9, 2) .. ":" ..  
                    String.Mid(dtmDate, 11, 2) .. ":" ..  
                    String.Mid(dtmDate,13, 2));
        else
            return "";
        end
    end
     
    local strOutputTitle = "";
    local strOutput      = "";
    strOutputTitle = strOutputTitle .. "Computer: localhost\r\n";
    strOutputTitle = strOutputTitle .. "==========================================\r\n\r\n";
    local objWMIService = luacom.GetObject("winmgmts:\\\\.\\root\\CIMV2");
    local objColItems = objWMIService:ExecQuery("SELECT * FROM Win32_BaseBoard", "WQL", 48);
     
    if (objColItems) then
       local oEnum = luacom.GetEnumerator(objColItems);
       local objItem = oEnum:Next();
       while (objItem) do
          strOutput = strOutput .. "Caption: " .. Escape(objItem:Caption()) .. "\r\n";
          strOutput = strOutput .. "ConfigOptions: " .. Escape(objItem.ConfigOptions(0)) .. "\r\n";
          strOutput = strOutput .. "CreationClassName: " .. Escape(objItem:CreationClassName()) .. "\r\n";
          strOutput = strOutput .. "Depth: " .. Escape(objItem:Depth()) .. "\r\n";
          strOutput = strOutput .. "Description: " .. Escape(objItem:Description()) .. "\r\n";
          strOutput = strOutput .. "Height: " .. Escape(objItem:Height()) .. "\r\n";
          strOutput = strOutput .. "HostingBoard: " .. Escape(objItem:HostingBoard()) .. "\r\n";
          strOutput = strOutput .. "HotSwappable: " .. Escape(objItem:HotSwappable()) .. "\r\n";
          strOutput = strOutput .. "InstallDate: " .. WMIDateStringToDate(objItem:InstallDate()) .. "\r\n";
          strOutput = strOutput .. "Manufacturer: " .. Escape(objItem:Manufacturer()) .. "\r\n";
          strOutput = strOutput .. "Model: " .. Escape(objItem:Model()) .. "\r\n";
          strOutput = strOutput .. "Name: " .. Escape(objItem:Name()) .. "\r\n";
          strOutput = strOutput .. "OtherIdentifyingInfo: " .. Escape(objItem:OtherIdentifyingInfo()) .. "\r\n";
          strOutput = strOutput .. "PartNumber: " .. Escape(objItem:PartNumber()) .. "\r\n";
          strOutput = strOutput .. "PoweredOn: " .. Escape(objItem:PoweredOn()) .. "\r\n";
          strOutput = strOutput .. "Product: " .. Escape(objItem:Product()) .. "\r\n";
          strOutput = strOutput .. "Removable: " .. Escape(objItem:Removable()) .. "\r\n";
          strOutput = strOutput .. "Replaceable: " .. Escape(objItem:Replaceable()) .. "\r\n";
          strOutput = strOutput .. "RequirementsDescription: " .. Escape(objItem:RequirementsDescription()) .. "\r\n";
          strOutput = strOutput .. "RequiresDaughterBoard: " .. Escape(objItem:RequiresDaughterBoard()) .. "\r\n";
          strOutput = strOutput .. "SerialNumber: " .. Escape(objItem:SerialNumber()) .. "\r\n";
          strOutput = strOutput .. "SKU: " .. Escape(objItem:SKU()) .. "\r\n";
          strOutput = strOutput .. "SlotLayout: " .. Escape(objItem:SlotLayout()) .. "\r\n";
          strOutput = strOutput .. "SpecialRequirements: " .. Escape(objItem:SpecialRequirements()) .. "\r\n";
          strOutput = strOutput .. "Status: " .. Escape(objItem:Status()) .. "\r\n";
          strOutput = strOutput .. "Tag: " .. Escape(objItem:Tag()) .. "\r\n";
          strOutput = strOutput .. "Version: " .. Escape(objItem:Version()) .. "\r\n";
          strOutput = strOutput .. "Weight: " .. Escape(objItem:Weight()) .. "\r\n";
          strOutput = strOutput .. "Width: " .. Escape(objItem:Width()) .. "\r\n";
          if Dialog.Message("WMI Output",  strOutputTitle .. strOutput, 1) == 2 then break end
          Output = "";
          objItem = oEnum:Next();
       end
    else
       Dialog.Message("WMI Output", "No WMI Objects Found for class: Win32_BaseBoard");
    end

    В данном примере результат выводится в диалоговое окно. Исходя из своей задачи, обработаете под свои нужды.
    Например, вместо вывода в диалоговое окно,  

    Код:
    sn = "SerialNumber: " .. Escape(objItem:SerialNumber())

    засовываете в переменную sn и сравниваете с ним считанное значение. Для идентификации можно использовать не только SerialNumber, но и другие данные из списка диалогового окна вместе с SerialNumber.
     
    1. сначала утилитой считываете данные с компа того человека, кому привязываете свой софт.
    2. в файле запуска софта пишете условие: считать серийный номер (или + еще что-то из списка), если он совпадает с sn, то запустить софт, если нет - закрыть.

    Всего записей: 76 | Зарегистр. 08-05-2007 | Отправлено: 12:23 03-10-2012 | Исправлено: ra700, 12:31 03-10-2012
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Можно пример с использованием SciLexer.dll в AMS?

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 13:20 03-10-2012
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Robby -- работаю над этим.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 13:25 03-10-2012
    lerik2703



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

    Цитата:
    В моем случае задача стоит не ЧТО защитить, а КАК защитить.

    нет ну если взять ещё в руки паяльник, подучить язык микроконтроллеров, и организовать защиту не микроконтроллере

    Всего записей: 403 | Зарегистр. 05-01-2010 | Отправлено: 16:11 03-10-2012 | Исправлено: lerik2703, 16:12 03-10-2012
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Накатал пример работы с SciLexer.dll в AMS. Кому надо - забирайте.
    http://yadi.sk/d/_GBJ2Iah0-s0C
    Организован пример раскраски языка LUA + пару действий AMS. Кому надо - добавите другие или исправите.
    PS. Scintilla имеет туеву кучу действий по офрмлению редактора (типа фолдинга и др.). Кому интересно, смотрите официальную документацию.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 16:20 03-10-2012
    BASHKA123

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

    Всего записей: 5 | Зарегистр. 30-09-2012 | Отправлено: 21:54 03-10-2012 | Исправлено: BASHKA123, 22:18 03-10-2012
    SabreFC

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые гуру! Подскажите плиз, срочно ОЧЕНЬ надо!
    Есть 2 страницы с web-объектами, на каждой странице кнопка перехода на другую. Если я нажал на кнопку 1 - грузится страница1 с объектом web1 и отображается содержимое страницы index1.html, при переходе на стр.2 отображается объект web2 и грузится index2.html. А проблема в том, что при переходе обратно со страницы 2 на стр. 1 содержимое объекта web1 не загружается. В чем может быть трабл, не могу понять, голова уже трещит по швам.....(((((
     
    Добавлено:
    Все, всем спасибо, допетрил наконец-то....  Чтобы не было зависона надо прописать в свойствах страницы во вкладке On Show через Web.LoadURL, а ссылку из веб-объекта на страницу убрать.

    Всего записей: 8 | Зарегистр. 12-03-2010 | Отправлено: 11:11 04-10-2012
    ra700

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Свой опыт - он самый ценный!

    Всего записей: 76 | Зарегистр. 08-05-2007 | Отправлено: 12:27 04-10-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud, большое спасибо за пример. Только не объяснишь ли как сделать функции получения текста (GetText), вставки текста (InsertText) и получения его длины. SetText у меня сделать получилось, но с остальными не получается. Хотелось бы понять как эти команды правильно писать.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 14:50 04-10-2012
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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