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

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

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

Widok (17-05-2010 12:17): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Часть 3 [Часть 2, Часть 1]



  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 Trial v7.5.1006.0
Рекомендуемое дополнение: AMS PluginPowerPack by Kindly v4.0 - Зеркало
Это дополнение содержит все последние плагины, расширяющие возможности AMS, на момент его выпуска (02.08.09).

Учимся работать с AMS:
Ресурс 1 - Ресурс 2 - Ресурс 3 - Ресурс 4

Скриптовый язык LUA:
Ресурс 1 (En) - Ресурс 2 (Ru)

Ресурсы, посвященные AMS (содержат коллекции примеров, дополнений, уроков):
  • amsplugins.com
  • amsuser.com
  • azman.info
  • icynorth.com
  • gooseweb.ru   -умер, сорри...
  • warmuskerken.com

    Ответы на наиболее часто задаваемые вопросы:
  • Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
  • Активация кнопок по информации из реестра (на примере авторана для игр) от Zloy_Gelud
  • Виды путей, используемых в AMS от GOOSE
  • Включение\отключение фоновой музыки кнопкой
  • Вывод HTML отчета с использованием SQLite плагина от IndigoRose
  • Выделение и копирование в буфер текста\части текста от GOOSE
  • Для тех, у кого русский проект с "кракозяблами"
  • Запуск WinRAR'a для распаковки архивов от Reineke
  • Запуск файлов из Web объекта
  • Запуск/открытие файлов из Web объекта от tavria2
  • Запускаем экзешник по информации из реестра от Lexua
  • Пример бегущей строки (более красивый способ) от tavria2
  • Из окна в полноэкранный режим и обратно  
  • Изменяем иконку приложения от Lexua
  • Изменяем курсор в приложении от GOOSE
  • Изменяем скроллинг ListBox-у от GOOSE
  • Используем таймер
  • Отображение процесса распаковки файла из ZIP-архива + общий прогресс распаковки от Zloy_Gelud
  • Отправка данных из форм по e-mail от GOOSE
  • Перенос строки во всплывающей подсказке от GOOSE
  • Показ\скрытие объектов по действиям мыши
  • Полноэкранный режим для приложения
  • Последовательный запуск нескольких файлов
  • Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
  • Проверка на существование копии проекта aka запрет повторного запуска от tavria2
  • Проигрвывание MP3 из ListBox-а подряд от UMode
  • Простой пример бегущей строки от GOOSE
  • Работаем с запароленными архивами от GOOSE
  • Работаем с объектом дерева от GOOSE
  • Ряд вопросов и ответов по созданию меню для DVD от tavria2
  • Реализация Play-листов для Винампа от BOObastis
  • Таблица дисков системы от Lexua
  • Изменение стиля границ окна проекта от tavria2
  • Многострочная подсказка (tooltip) от tavria2

    Обсуждение оформления шапки
    Старая версия шапки

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:11 30-01-2009 | Исправлено: Maz, 12:31 25-09-2017
    Player_1

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, а мои thumbs стали теперь неактивны. Что где я сделал не так?

    Всего записей: 5 | Зарегистр. 26-10-2009 | Отправлено: 21:08 28-10-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2 спасибо, что откликнулись. Не подскажете, а каким образом заставить Label.SetText подхватить  информацию, например, о free space раздела С  (я, полагаю, что ее получить можно с помощью команды Drive.GetFreeSpace("C:"))?

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 21:17 28-10-2009 | Исправлено: saavaage, 21:20 28-10-2009
    Player_1

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос снимаю. Неактивность - мой личный косяк. Нашел..

    Всего записей: 5 | Зарегистр. 26-10-2009 | Отправлено: 21:22 28-10-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, спасибо еще раз. По-поводу свободного места на разделе С разобрался.  
    Остались вопросы такого плана:  
    1. как получить данные о процессоре (нужна прежде всего инфа о его частоте),
    2. как получить данные о RAM системы (команда System.GetMemoryInfo ( ) выдает целую таблицу с различными данными)

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 22:09 28-10-2009 | Исправлено: saavaage, 22:48 28-10-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    saavaage
    Drive.GetFreeSpace возвращает значение, которое помещается в переменную, вот эту переменную и подставляй в Label.SetText. Еще раз внимательно посмотри справку по этим действиям, а также примеры к этим действиям - все станет понятным.
     
    Добавлено:
    Упс, не успел с ответом

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 22:13 28-10-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    кстати, где можно посмотреть в справке примеры? Я увидел только коротенькие инфо по командам и все...
     
     
    Добавлено:
    tavria2
    с Ram и CPU тоже разобрался. Вопрос по выводe разрядности винды (32 или 64). Нигде не могу найти эту команду. Это возможно в принципе?
     
    Все, вопрос закрыт. Справкой тоже пользоваться научился. tavria2, еще раз спасибо.

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 22:51 28-10-2009 | Исправлено: saavaage, 01:16 29-10-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем вечер добрый!
    Опять нужна Ваша помощь. По ходу создания меню возник еще один вопрос:
    необходимо, чтобы на титульный лист меню выводилась инфо следующего характера:
    1. имя текущего юзера системы (не путать с именем хозяина машины)
    2. аватар текущего юзера
     
    Если не сложно, подскажите как это реализовать.  
    Форум просмотрел, мысли есть, но не знаю откуда и как брать конкретную информацию о текущем пользователе и его аватаре...
     
    Так, пока нашел такое решение:
     
    -- определение буквы системного раздела
    system_drive = String.Left(_WindowsFolder, 2);
     
    -- определение текущего пользователя и заполнение этой инфой Label8
    Label.SetText("Label8","");
    user_data = Registry.GetValue(HKEY_CURRENT_USER, "\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer", "Logon User Name", false);
    Label.SetText("Label8", user_data);
     
    -- составление пути до аватара
    path_parts = {Drive= system_drive,Folder="\\Documents and Settings\\All Users\\Application Data\\Microsoft\\User Account Pictures\\",Filename= user_data,Extension=".bmp"};
    result_path = String.MakePath(path_parts);
     
    -- загрузка картинки аватара в Image2
    Image.Load("Image2", result_path);
     
    -- этап проверки обладает ли текущий юзер правами администратора и сигнализация об этом
    Label.SetText("Label9","");
    Label.SetText("Label10","");
    user_info = System.GetUserInfo();
    if (not user_info.IsAdmin) then
        Label.SetText("Label9","Нет!");
    else
        Label.SetText("Label10", "Есть!");
    end
     
    Вопрос по user_data остается открытым. Актуален ли такой путь в реестре для любой машины?

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 00:26 31-10-2009 | Исправлено: saavaage, 13:55 31-10-2009
    tavria2



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

    Код:
    function GetUserName()
        local sUserName = "";
        mem = Memory.Allocate(256)
        len = Memory.Allocate(16)
        Memory.PutLong(len, 256)
     
        ret = tonumber(DLL.CallFunction("advapi32.dll", "GetUserNameA", mem..", "..len, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL))
        if ret ~= 0 then
          sUserName = Memory.GetString(mem, Memory.GetLong(len), "Ascii");
        end
        Memory.Free(mem)
        Memory.Free(len)
        return sUserName
    end
     
    -----------------------------------------------------------------
    sUserName = GetUserName(); -- имя текущего пользователя в системе
    if sUserName ~= "" then -- если есть имя текущего пользователя в системе
        -- путь к пиктограмме текущего пользователя
        sImagePath = Shell.GetFolder(SHF_APPLICATIONDATA_COMMON).."\\Microsoft\\User Account Pictures\\"..sUserName..".bmp";
    end

    Требуется Action Plugin AMSWMemory 1.0.2.0.
    Куда выводить инфу - думаю сам разберешся.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 20:59 31-10-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, спасибо, работает.  
    А не можете сказать, правильно ли я сделал первоначально и чем ваш вариант лучше? Дело в том, что проверил свой вариант уже на 3 разных машинах и все вроде правильно отображается, а опыта понять самостоятельно, какое решение и чем лучше пока нет. Прямо скажу, что из верхней части вашего скрипта, вообще, ничего не понял. Может есть  где почитать по это плагину?
     
    Еще один вопрос - если на машине памяти больше 2 Гб, штатный скрипт (см. ниже) позволит это увидеть или только до 2Гб?
     
    Штатный скрипт:
     
    Label.SetText("Label4","");
    result = System.GetMemoryInfo().TotalRAM +1;
    Label.SetText("Label4", result);

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 23:42 31-10-2009 | Исправлено: saavaage, 00:43 01-11-2009
    pavki



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем, я тут первый день!
    Ребята скиньте пожалуйста Русский HELP у кого есть!
    На форуме находил help НО ТАМ БИТАЯ  ССЫЛКА

    Всего записей: 109 | Зарегистр. 01-11-2009 | Отправлено: 00:16 01-11-2009 | Исправлено: pavki, 00:17 01-11-2009
    saavaage

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

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 00:24 01-11-2009
    tavria2



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

    Цитата:
    А не можете сказать, правильно ли я сделал первоначально? и чем ваш вариант лучше. Дело в том, что проверял уже на 3 разных машинах и все вроде правильно отображается,

    Проверял на  разных машинах под XP? Попробуй проверить в Висте.
     
    Путь к пиктограммам пользователя XP:  
    C:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures
     
    Путь к пиктограммам пользователя Vista:
    C:\Users\All Users\Microsoft\User Account Pictures
     
    Разницу улавливаешь?
     
    Я привел пример с использованием API-функций (даже штатное действие Shell.GetFolder - является оберткой API-функции), т.е. используются библиотеки Windows, за счет чего достигается совместимость между различными версиями системы, хотя в данном случае Win9x - не поддерживается.

    Цитата:
    если на машине памяти больше 2 Гб штатный скрипт позволит это увидеть

    Не знаю - не проверял.
     

    pavki

    Цитата:
    Ребята скиньте пожалуйста Русский HELP у кого есть!  
    На форуме находил help НО ТАМ БИТАЯ  ССЫЛКА

    Русской справки не существует и врядли будет. Были только попытки русифицировать несколько пунктов справки и на этом все...

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 00:39 01-11-2009 | Исправлено: tavria2, 00:45 01-11-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, получается, что Ваш -более универсален. Тогда вопрос по штатным скриптам (см. ниже) - будут ли они работать и в висте/7? и если нет, то куда рыть для получения универсального результата?
     
    Label.SetText("Label3","");
    drive_free = Drive.GetFreeSpace(_WindowsFolder);
    Label.SetText("Label3", drive_free);
    -----------------------------------------------------------------------------------------
    Label.SetText("Label5","");
    result = System.GetOSName();
    Label.SetText("Label5", result.." /");
    -------------------------------------------------------------------------------------------
    Label.SetText("Label4","");
    result = System.GetMemoryInfo().TotalRAM +1;
    Label.SetText("Label4", result);
    ----------------------------------------------------------------------------------------------
    Label.SetText("Label2","");
    cMHz = Registry.GetValue(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor\\0", "~MHz", true);
    Label.SetText("Label2", cMHz.."  /")
    -------------------------------------------------------------------------------------------------
    Label.SetText("Label6","");
    tKernels = Registry.GetKeyNames(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor");  
       if (tKernels) then  
            -- количество ядер  
          KernelsNumber = Table.Count(tKernels);  
       end
    Label.SetText("Label6", KernelsNumber);
    -----------------------------------------------------------------------------------------------------
    Label.SetText("Label1","");
    -- Check if the OS is 64 bit
    b64Bit = System.Is64BitOS();
    if b64Bit then
    Label.SetText("Label1", "64");
    else
    Label.SetText("Label1", "32");
    end
    -------------------------------------------------------------------------------------------------
    Label.SetText("Label7","");
    system_drive = String.Left(_WindowsFolder, 2);
    Label.SetText("Label7", system_drive);
    ---------------------------------------------------------------------------------------------------
    Label.SetText("Label8","");
    function GetUserName()  
        local sUserName = "";  
        mem = Memory.Allocate(256)  
        len = Memory.Allocate(16)  
        Memory.PutLong(len, 256)  
        ret = tonumber(DLL.CallFunction("advapi32.dll", "GetUserNameA", mem..", "..len, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL))  
        if ret ~= 0 then  
          sUserName = Memory.GetString(mem, Memory.GetLong(len), "Ascii");  
        end  
        Memory.Free(mem)  
        Memory.Free(len)  
        return sUserName  
    end  
    -----------------------------------------------------------------  
    sUserName = GetUserName(); -- имя текущего пользователя в системе  
    if sUserName ~= "" then -- если есть имя текущего пользователя в системе  
        -- путь к пиктограмме текущего пользователя  
        sImagePath = Shell.GetFolder(SHF_APPLICATIONDATA_COMMON).."\\Microsoft\\User Account Pictures\\"..sUserName..".bmp";  
    end
    Label.SetText("Label8", sUserName);
    Image.Load("Image2", sImagePath);
    ---------------------------------------------------------------------------------------
    Label.SetText("Label9","");
    Label.SetText("Label10","");
    user_info = System.GetUserInfo();
    if (not user_info.IsAdmin) then
        Label.SetText("Label9","Нет!");
    else
        Label.SetText("Label10", "Есть!");
    end

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 00:50 01-11-2009 | Исправлено: saavaage, 01:16 01-11-2009
    tavria2



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

    Цитата:
    Тогда вопрос по штатным скриптам (см. ниже) - будут ли они работать и в висте/7? и если нет, то куда рыть для получения универсального результата?  

    Наверное, не штатные скрипты, а штатные действия (функции). Теоретически все штатные действия должны возвращать правильный результат, если это не так то - это считается багом программы или версия программы сильно устарела.
    Чтобы голова меньше болела о совместимости - старайся всегда избегать абсолютных путей.  
     
    В твоем коде - слабое место, это чтение из реестра инфы о процессоре. Нет никакой гарантии, что в следующих версиях Windows, ничего не поменяется.
     
    Самый универсальный результат - это API, но даже при использовании его функций, нужно обязательно обращать внимание на какой платформе будет работать та или иная функция.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 09:41 01-11-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, вроде получил первый отзыв от владельца машины с 3 Гб RAM - видит только 2,5  
    http://ipicture.ru/Gallery/Viewfull/25949038.html
    Вот такие пироги..

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 09:47 01-11-2009 | Исправлено: saavaage, 09:49 01-11-2009
    tavria2



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

    Цитата:
    вроде получил первый отзыв от владельца машины с 3 Гб RAM - видит только 2,5  
    А у него случайно не интегрированная видеокарта? Сколько памяти отображается в свойствах системы?
     
     
    Добавлено:
    В догонку.
    Вот, что пишут разработчики AMS:
    Цитата:
    New Version Available: 7.1.1005.0  
    ...
  • Fix: Fixed a bug in the System.GetMemoryInfo action where it was not reporting correct values for greater than 4 GB of RAM.  
    ...
  •  
    Так, что либо у тебя старая версия AMS, либо у человека действительно доступен такой объем памяти.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 10:11 01-11-2009 | Исправлено: tavria2, 10:22 01-11-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, чел пока молчит. У меня AMS последний билд (1008)
    Где можно про работу с API почитать?

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 10:29 01-11-2009 | Исправлено: saavaage, 10:31 01-11-2009
    pavki



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, кто разобрался в программе Помогите пожалуйста  
    Можно сделать так чтобы в одном окошке были названия программ а в другом описание  
    Например: при нажатии в списке на какую ни -будь программу сразу высвечивалась описание программы  
    описание программ будет лежать в каждой папке под названием  Readme.txt  
     
    ПОМОГИТЕ ПОЖАЛУСТА!  

    Всего записей: 109 | Зарегистр. 01-11-2009 | Отправлено: 10:38 01-11-2009 | Исправлено: pavki, 10:39 01-11-2009
    saavaage

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pavki, в шапке посмотри. По-моему там, что-то подобное было + ссылка с примером:
    http://amstudio.azman.info/2009/03/01/combo-box-to-image/
    и советовал бы посетить страничку http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=0720&glp и загрузить вкусности

    Всего записей: 38 | Зарегистр. 28-10-2009 | Отправлено: 10:47 01-11-2009 | Исправлено: saavaage, 11:26 01-11-2009
    tavria2



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

    Цитата:
    Где можно про работу с API почитать?

    Я пользуюсь поиском в инете.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 10:51 01-11-2009
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 3)
    Widok (17-05-2010 12:17): Лимит страниц. Продолжаем здесь.


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru