Ru-Board.club
← Вернуться в раздел «Программы»

» Autoplay Media Studio

Автор: lorents
Дата сообщения: 28.02.2009 17:50
и еще может у кого есть пример Меню
просто вот стандартное смотрится не очень
Автор: piter burg
Дата сообщения: 28.02.2009 18:42
Буду благодарен за помощь начинающему.
Проблема с объектом Progress bar - не хочет запускаться и показывать процесс загрузки исполняемого файла ехе. приложения, который должен исполняться по клику.

Добавлено:
lorents

Я присоединился на более позднем этапе.
Не могу разобраться с работой Progress bar.
Не работает при запуске исполняемых файлов после создания страницы в AutoPlay Media Studio.
Автор: Lexua
Дата сообщения: 28.02.2009 20:35

Цитата:
Проблема с объектом Progress bar - не хочет запускаться и показывать процесс загрузки исполняемого файла ехе. приложения, который должен исполняться по клику.


И как вобще ты себе это представляешь. Как минимум, запускаемое приложение должно возвращать значения для работы прогрессбара. Ну и экстрасенсов тут нет - код приведи, что ты пишешь.
Автор: skeptik_vdm
Дата сообщения: 28.02.2009 22:29
Zloy_Gelud


Цитата:
On Preload:

Код:Page.StartTimer(100);


On Timer:

Код:-- путь к файлу, который запускает игру
strRunGamePath = Registry.GetValue(HKEY_LOCAL_MACHINE, "Software\\My Game", "Path", true).."\\Game.exe";
-- путь к инстоллятору игры
strActPath = _SourceFolder.."\\setup.exe";

-- если игра установлена
if (Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\My Game") == true) then
-- меняем на путь к деинстоллятору
strActPath = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Game_is1", "UninstallString", true);
-- активируем кнопку "Запустить"
Button.SetEnabled("Button1", true);
-- переименовываем кнопку "Установить" на "Удалить"
Button.SetText("Button2", "Удалить");
end


А что дальше с этим делать??? Я это ввел а что потом делать до меня не доходит!!!
Автор: piter_burg
Дата сообщения: 01.03.2009 10:59

Цитата:
Проблема с объектом Progress bar - не хочет запускаться и показывать процесс загрузки исполняемого файла ехе. приложения, который должен исполняться по клику.


И как вобще ты себе это представляешь. Как минимум, запускаемое приложение должно возвращать значения для работы прогрессбара. Ну и экстрасенсов тут нет - код приведи, что ты пишешь.




Создавал в AutoPlay Media Studio 3.0 файлы автозапуска для CD. Содержимое CD представляет собой несколько приложений в формате ехе., достигающие 250Мб.
Каждое приложение запускается нажатием кнопки из меню автозапуска. Для этого применяю простое действие: Свойства кнопки - быстрое действие - Выполняемое действие - Run Program - Файл для запуска: Приложение1 ехе. Для других приложений соответствующие кнопки. Все приложения благополучно запускаются и исполняются.
Перешел на AutoPlay Media Studio 7.0. Если создавать один исполняемый файл, включающий в себя все приложения, размер его получается 700Мб. В этом режиме создания предусмотрена функция - Показывать окно прогресса, но оно показывает загрузку самого autorun, а не запускаемых приложений.
Узрел новый сервис - объект Progress bar. Так как загрузка приложения размером 250Мб с CD занимает длительное время хотелось бы сопроводить загрузку Приложения индикатором загрузки, используя Progress bar.
Имеющие опыт поделитесь своими знаниями, буду благодарен.

Добавлено:

Цитата:
Создавал в AutoPlay Media Studio 3.0 файлы автозапуска для CD. Содержимое CD представляет собой несколько приложений в формате ехе., достигающие 250Мб.
Каждое приложение запускается нажатием кнопки из меню автозапуска. Для этого применяю простое действие: Свойства кнопки - быстрое действие - Выполняемое действие - Run Program - Файл для запуска: Приложение1 ехе. Для других приложений соответствующие кнопки. Все приложения благополучно запускаются и исполняются.

Приложения не инсталлируются. Вся информация просматривается с CD.

Перешел на AutoPlay Media Studio 7.0. Если создавать один исполняемый файл, включающий в себя все приложения, размер его получается 700Мб. В этом режиме создания предусмотрена функция - Показывать окно прогресса, но оно показывает загрузку самого autorun, а не запускаемых приложений.
Узрел новый сервис - объект Progress bar. Так как загрузка приложения размером 250Мб с CD занимает длительное время хотелось бы сопроводить загрузку Приложения индикатором загрузки, используя Progress bar.
Имеющие опыт поделитесь своими знаниями, буду благодарен.
Автор: Zloy_Gelud
Дата сообщения: 01.03.2009 14:15
skeptik_vdm

Цитата:
А что дальше с этим делать??? Я это ввел а что потом делать до меня не доходит!!!

Разберись-ка для начала с программой (скриптами), а потом вопросы задавай.


piter_burg
Зачем по два раза одно и тоже пишешь?

Цитата:
хотелось бы сопроводить загрузку Приложения индикатором загрузки, используя Progress bar

Lexua тебе ясно написал, что такое невозможно.


Добавлено:
lorents
Тоже в клуб телепатов напрашиваешься?

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

А что ты ожидаешь от этого кода?

Цитата:
и еще может у кого есть пример Меню

Примеры есть на сайте GOOSE'a. Или задавай конкретные вопросы, что ты хочешь увидеть.
Автор: lorents
Дата сообщения: 01.03.2009 14:41
Zloy_Gelud

Цитата:
А что ты ожидаешь от этого кода?

код проверки если уже проект запущен то при повторной запуске он выдвигает на передний план уже запущенный проект

Цитата:
Примеры есть на сайте GOOSE'a. Или задавай конкретные вопросы, что ты хочешь увидеть.

изменить стандартный вид меню, у GOOSE'a пример к сожалению не нашел
Автор: skeptik_vdm
Дата сообщения: 01.03.2009 14:47
Zloy_Gelud

Цитата:
Разберись-ка для начала с программой (скриптами), а потом вопросы задавай.


Я с программой разобрался и со скриптом тоже!!!Я создал проект создал там кнопки ввел этот скрипт и из всего этого работает только это

Цитата:
-- активируем кнопку "Запустить"
Button.SetEnabled("Button1", true);
-- переименовываем кнопку "Установить" на "Удалить"
Button.SetText("Button2", "Удалить");


А вот запуск и удаление игры и запуск программы установки не работают!!!
Автор: Zloy_Gelud
Дата сообщения: 01.03.2009 15:30
skeptik_vdm
Ну а ты на кнопку "Запустить" повесь это:

Код: File.Run(strRunGamePath, "", "", SW_SHOWNORMAL, false);
Автор: lorents
Дата сообщения: 01.03.2009 16:17
Zloy_Gelud
СПАСИБО!!!!!!!!!
Автор: skeptik_vdm
Дата сообщения: 01.03.2009 16:25
Zloy_Gelud

Спасибо!!!Уважуха тебе!!!
Автор: Djon1970
Дата сообщения: 01.03.2009 19:14
Прописываю такой код:

Код: File.Copy("AutoPlay\\Docs\\DESIGNER ICON\\Falco Icon Studio 2.3\\Patch\\Patch.exe", _ProgramFilesFolder.."\\Falco Icon Studio", true, true, false, true, nil);
result = File.Run(_ProgramFilesFolder.."\\Falco Icon Studio\\Patch.exe", "", "", SW_SHOWNORMAL, false);
Автор: tavria2
Дата сообщения: 01.03.2009 19:29
Djon1970
Нужно указывать рабочую папку:
Код:
result = File.Run(_ProgramFilesFolder.."\\Falco Icon Studio\\Patch.exe", "", _ProgramFilesFolder.."\\Falco Icon Studio", SW_SHOWNORMAL, false);
Автор: lorents
Дата сообщения: 01.03.2009 19:53
tavria2

Цитата:
если интересно, то могу набрасать код.

интересно, даже очень
Автор: Djon1970
Дата сообщения: 01.03.2009 19:58
tavria2

Цитата:
Нужно указывать рабочую папку:


Странно, но некоторые почему-то срабатывают с тем кодом.
Спасибо за помощь!
Автор: Zloy_Gelud
Дата сообщения: 01.03.2009 20:16
tavria2 -- да, конечно пиши. Будет полезно! И интересно..
Автор: tavria2
Дата сообщения: 01.03.2009 20:58
Zloy_Gelud
Код получился довольно громоздкий, по этому лучше файлом.
FileRunOnce.apz | зеркало [11 Кб].
Автор: lorents
Дата сообщения: 01.03.2009 21:13
tavria2
сппсибо!
можно спросить на счет SFX-архива, код работает со всеми SFX-архивами или только с теми что создано средствами AMS?
Автор: tavria2
Дата сообщения: 01.03.2009 21:18
lorents
Применимо только к проекту AMS.
Автор: Zloy_Gelud
Дата сообщения: 01.03.2009 21:23
tavria2
Да, действительно, для такой тривиальной задачи, такой громоздкий код надо использовать...
А что, если избавиться от этого

Цитата:
Не желательно делать привязку к заголовку окна, т.к. нет гарантии, что в системе не появится чужое окно с таким-же именем

сделав поиск по классу, а не по заголовку?
Автор: tavria2
Дата сообщения: 01.03.2009 21:38
Zloy_Gelud
Попробуй, я когда-то пробовал найти класс - не получилось. Да, и к тому же в AMS класс окна динамический, при каждом запуске проекта меняется "хвост" в имени класса окна.
Автор: Zloy_Gelud
Дата сообщения: 02.03.2009 00:41
tavria2

Код: nClass = DLL.CallFunction(_SystemFolder.."\\user32.dll", "GetClassNameA", hWnd..",\"\",4096", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: tavria2
Дата сообщения: 02.03.2009 01:08
Zloy_Gelud
Твой nClass будет содержать кол-во символов, скопированных в буфер, посмотри внимательнее описание к этой ф-ции.
Автор: Zloy_Gelud
Дата сообщения: 02.03.2009 01:34
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);
Автор: lorents
Дата сообщения: 02.03.2009 08:24
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);
Автор: tavria2
Дата сообщения: 02.03.2009 13:25
Zloy_Gelud
Я считаю, что привязка к классу окна не приемлема, т.к. одновременно может быть запущено несколько разных приложений созданных с помощью AMS.

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

Посмотрю позже...
Автор: lorents
Дата сообщения: 02.03.2009 20:14
tavria2

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

ок, как сделать чтобы при закрытии проекта диалогого окна закрывался сам проект?
Автор: tavria2
Дата сообщения: 02.03.2009 20:42
Предотвращение повторного запуска пректа.
FileRunOnce1.1.apz | зеркало [11 Кб].
Автор: lorents
Дата сообщения: 02.03.2009 21:01
tavria2
еще пару проблем нашел:
1. при повторном запуске вот что происходит

конечно это исчезает через мгновение, но все таки

2. если в проекте первоначально запускается диалоговое окно и оно не закрыто при повторном запуске проекта код не работает
Автор: Zloy_Gelud
Дата сообщения: 02.03.2009 21:12

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

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

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: PHP RapidGet Pro V


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.