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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Попробуй, я когда-то пробовал найти класс - не получилось. Да, и к тому же в AMS класс окна динамический, при каждом запуске проекта меняется "хвост" в имени класса окна.

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



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

    Код:
    nClass = DLL.CallFunction(_SystemFolder.."\\user32.dll", "GetClassNameA", hWnd..",\"\",4096", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);

    У меня для проектов АМС nClass всегда равен 23. Если у тебя также, то, я думаю, это можно использовать вместе с проверкой заголовка для более точного определения того, что это именно проект АМС.
    Как ты считаешь?

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 01:41 02-03-2009 | Исправлено: Zloy_Gelud, 01:42 02-03-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Твой nClass будет содержать кол-во символов, скопированных в буфер, посмотри внимательнее описание к этой ф-ции.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 02:08 02-03-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    Мм. Вообщем nClass будет возвращать количество символов в имени класса окна.  
    ЗЫ. Как оказалось nClass не всегда равно 23.. Попробую копать дальше..
     
     
    Добавлено:
    tavria2
    А если так?

    Код:
    hWnd = Application.GetWndHandle();
    GWL_HINSTANCE = -6;
    nResult = DLL.CallFunction(_SystemFolder.."\\user32.dll", "GetWindowLongA", hWnd..","..GWL_HINSTANCE, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
    Dialog.Message("Notice", "Afx:"..string.format("%X",nResult), MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

     
     
    Добавлено:
    И жаль конечно что такая конструкция не работает

    Код:
    hWnd = Application.GetWndHandle();
    buffer="";
    strClass = DLL.CallFunction(_SystemFolder.."\\user32.dll", "GetClassNameA", hWnd..",\""..buffer.."\",4096", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
    Dialog.Message("Notice", buffer, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

    Хотя по идее должна..

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 02:34 02-03-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    нашел маленькую ошибку в коде, если проект развернут на все окно то при повторном запуске проекта, проект открывается с исходным размером окна
     
    Добавлено:
    и сейчас проверил тоже самое с этим кодом

    Код:
    instances_of_file = 0;
    file_to_check_for = "setup.exe";
    processes = Window.EnumerateProcesses();
     
    for j, file_path in processes do
    file = String.SplitPath(file_path);
    if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then
    instances_of_file = instances_of_file + 1;
    hWnd = j;
    break;
    end
    end
     
    if instances_of_file > 0 then
    Window.SetOrder(hWnd, HWND_TOP);
    else
    File.Run("AutoPlay\\Docs\\Setup.exe", "", "", SW_SHOWNORMAL, false);
    end
    Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 09:24 02-03-2009 | Исправлено: lorents, 09:36 02-03-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Я считаю, что привязка к классу окна не приемлема, т.к. одновременно может быть запущено несколько разных приложений созданных с помощью AMS.

    lorents
    Цитата:
    нашел маленькую ошибку в коде...

    Посмотрю позже...

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 14:25 02-03-2009
    lorents



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

    Цитата:
    Посмотрю позже...

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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 21:14 02-03-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Предотвращение повторного запуска пректа.
    FileRunOnce1.1.apz | зеркало [11 Кб].
    Изменено поведение окна для полноэкранного режима.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 21:42 02-03-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    еще пару проблем нашел:
    1. при повторном запуске вот что происходит
       
    конечно это исчезает через мгновение, но все таки
     
    2. если в проекте первоначально запускается диалоговое окно и оно не закрыто при повторном запуске проекта код не работает

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 22:01 02-03-2009 | Исправлено: lorents, 22:08 02-03-2009
    Zloy_Gelud



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

    Цитата:
     если в проекте первоначально запускается диалоговое окно и оно не закрыто при повторном запуске проекта код не работает

    Значит кому-то придетсо( ) мониторить еще и дочерние окна (?).
    Ух уже эти проблемы с унивесальностью..

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 22:12 02-03-2009
    tavria2



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

    Цитата:
    при повторном запуске вот что происходит  

    Это из-за того, что много времени уходит на очистку временных файлов при закрытии окна, если закрывать окно "аварийно" (CLOSEWND_TERMINATE), то думаю эта проблема исчезнет, но возникнет другая проблема с мусором во временной папке.

    Цитата:
    если в проекте первоначально запускается диалоговое окно и оно не закрыто при повторном запуске проекта код не работает

    К сожалению сейчас нет времени этим заниматься.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 22:12 02-03-2009 | Исправлено: tavria2, 22:15 02-03-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    а ты не мог помочь с этим кодом

    Код:
    instances_of_file = 0;
    file_to_check_for = "setup.exe";
    processes = Window.EnumerateProcesses();
     
    for j, file_path in processes do
    file = String.SplitPath(file_path);
    if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then
    instances_of_file = instances_of_file + 1;
    hWnd = j;
    break;
    end
    end
     
    if instances_of_file > 0 then
    Window.SetOrder(hWnd, HWND_TOP);
    else
    File.Run("AutoPlay\\Docs\\Setup.exe", "", "", SW_SHOWNORMAL, false);
    end
    Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);

     
    если Setup.exe развернут на все окно то при повторном запуске Setup.exe, Setup.exe открывается с исходным размером окна

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 22:44 02-03-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Попробуй вместо:
    Код:
    Window.SetOrder(hWnd, HWND_TOP);
    подставить:
    Код:
    DLL.CallFunction("user32.dll", "OpenIcon", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);    
    DLL.CallFunction("user32.dll", "SetForegroundWindow", hWnd, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 13:15 03-03-2009 | Исправлено: tavria2, 13:17 03-03-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    работает, пока воспользуюсь этим кодом
    СПАСИБО!!!

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:03 03-03-2009
    bedrik



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с индикатором выполнения, никак не могу настроить чтоб показывал ход выполнения распаковки файла

    Всего записей: 10 | Зарегистр. 26-07-2006 | Отправлено: 05:13 05-03-2009
    Zloy_Gelud



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

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 16:09 05-03-2009
    Lexua



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bedrik
    Распаковки из какого архива, из ZIP?

    Всего записей: 2844 | Зарегистр. 15-10-2002 | Отправлено: 16:23 05-03-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А, ну да, для Зипа можно callback функу наваять.

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    некоторое время назад ты помог написать вот этот вот код (для проверки определенной версии винды и установленных тех или иных программ)

    Код:
    Page.StopTimer();
    instances_of_file = 0;
    file_to_check_for = "setup.exe";
    processes = Window.EnumerateProcesses(true);
    for j, file_path in processes do
        file = String.SplitPath(file_path);
        if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then
            instances_of_file = instances_of_file + 1;
            hWnd = j;
            break;
        end
    end
    strIEVer = ir_GetIEVersion();
    strFlashVer = ir_GetFlashAXVersion();
    strVersion = "5.00.2195";
    tblVersionInfo = System.GetOSVersionInfo();
    strCurrentVersion = tblVersionInfo.MajorVersion .. "." .. tblVersionInfo.MinorVersion.. "." .. tblVersionInfo.BuildNumber;
    if (String.CompareFileVersions(strVersion, strCurrentVersion) == 1) then
        Page.Jump("Page3");
    else
        bOk = true;
        if (String.CompareFileVersions("9.0.0.0", strFlashVer) == 1) or (String.CompareFileVersions("6.0.0.0", strIEVer) == 1) then
            bOk = false;
        end
        if (bOk == false) then
            Page.Jump("Page2");
        else

            if instances_of_file > 0 then
                DLL.CallFunction("user32.dll", "OpenIcon", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
                DLL.CallFunction("user32.dll", "SetForegroundWindow", hWnd, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
            else
                File.Run("AutoPlay\\Docs\\setup.exe", "", "", SW_SHOWNORMAL, false);
            end
        end
    end
    Window.Close(Application.GetWndHandle(), CLOSEWND_SENDMESSAGE);

    ты не мог объяснить значение выделенных строк?
     
    нельзя ли сделать так

    Код:
        if (String.CompareFileVersions("9.0.0.0", strFlashVer) == 1) or (String.CompareFileVersions("6.0.0.0", strIEVer) == 1) then
            Page.Jump("Page2");
        else

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 20:57 05-03-2009 | Исправлено: lorents, 20:59 05-03-2009
    Zloy_Gelud



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

    Цитата:
    нельзя ли сделать так

    Можно.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 00:44 06-03-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-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru