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

» Autoplay Media Studio

Автор: sp3d
Дата сообщения: 21.11.2008 19:13
Есть такой код, как я понимаю, сначало запускает приложение, а когда это приложения закрывается то выполняется код далее, допустим такой пример-
код:

Цитата:

Application.Minimize();
File.Run("пример.ехе", "", "", SW_SHOWNORMAL, true);
---чудо скрипт

а теперь вопрос
1-Скажите, есть ли чудо скрипт, который обратно востановит из панели
2-Но по идее нужно открыть не *.ехе, а *.pdf но код (выше) не подходит, есть ли другой вариант?
Автор: lorents
Дата сообщения: 21.11.2008 20:55
sp3d

Цитата:
1-Скажите, есть ли чудо скрипт, который обратно востановит из панели


Код: Application.Restore();
Автор: sp3d
Дата сообщения: 22.11.2008 07:11
lorents

Код: Application.Restore();
Автор: tavria2
Дата сообщения: 22.11.2008 09:04
sp3d
Установи последний билд AMS и используй Shell.Execute с параметром WaitForReturn = true.

Код: Application.Minimize();
Shell.Execute("AutoPlay\\Docs\\пример.pdf", "open", "", "", SW_SHOWNORMAL, true);
Application.Restore();
Автор: sp3d
Дата сообщения: 22.11.2008 09:48
tavria2
Спасибо! Уже качаю 7.01
Автор: lorents
Дата сообщения: 22.11.2008 10:27
ща пишу один код и такая ситуация
и вот часть кода

Код: elseif ((strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "7.0.9.0") == -1)) and ((strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "5.5.0.0") == -1)) then
Автор: tavria2
Дата сообщения: 22.11.2008 10:27
sp3d
Лучше качай 7.5, т.к. в 7.1 много багов.
Автор: sp3d
Дата сообщения: 22.11.2008 11:46
Жаль, что 7.1 баговая...
А 7.5, я установливал, но не стал юзать.
Потому что она англ., а в англ. я знаю мало, искал русик, но видно еще нет его
Автор: lorents
Дата сообщения: 22.11.2008 16:00
парни посмотрите плиз где я ошибся
код значит делает следующее, проверяет какой windows установлен, затем проверяет установлены ли Adobe Acrobat Reader, Internet Explorer и Windows Media Player и какая версия установлена если все норм то запускает приложение

одним словом вот код

Код: instances_of_file = 0;
file_to_check_for = "7z460.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
strAcrobatVer = ir_GetAcrobatVersion();
strIEVer = ir_GetIEVersion()
strWMPVer = ir_GetWMPVersion()
OS_Name = System.GetOSName();
if (os_name =="Windows Vista") or (os_name =="Windows Server 2008") or (os_name =="Windows XP") or (os_name =="Windows Server 2003") or (os_name =="Windows 2000") then

    if (strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "7.0.9.0") == -1) or (strWMPVer == "0.0.0.0") or (String.CompareFileVersions(strWMPVer, "7.1.0.0") == -1) or (strIEVer == "0.0.0.0") or (String.CompareFileVersions(strIEVer, "5.5.0.0") == -1) then
        result = DialogEx.Show("Dialog1", true, nil, nil);
    else
        if instances_of_file > 0 then
            Window.SetOrder(hWnd, HWND_TOP);
        else
            File.Run("AutoPlay\\Docs\\7z460.exe", "", "", SW_SHOWNORMAL, false);
        end
        Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);
    end

elseif (os_name =="Windows NT 4") or (os_name =="Windows NT 3") or (os_name =="Windows ME") or (os_name =="Windows 98") or (os_name =="Windows 95") then
    result = Dialog.Message("Error", "Your message here.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
    if (result == IDOK) then
        Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);
    end
else
    if (strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "7.0.9.0") == -1) and (strWMPVer == "0.0.0.0") or (String.CompareFileVersions(strWMPVer, "7.1.0.0") == -1) and (strIEVer == "0.0.0.0") or (String.CompareFileVersions(strIEVer, "5.5.0.0") == -1) then
        result = DialogEx.Show("Dialog1", true, nil, nil);
    else
        if instances_of_file > 0 then
            Window.SetOrder(hWnd, HWND_TOP);
        else
            File.Run("AutoPlay\\Docs\\7z460.exe", "", "", SW_SHOWNORMAL, false);
        end
        Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);
    end
end
Автор: lorents
Дата сообщения: 23.11.2008 14:11
уже разобрался

Добавлено:
подскажите как сделать чтоб при закрытии окна DialogEx, закрывался и сам проект?
что я не могу найти в справке, если кто знает подскажите
Автор: Zloy_Gelud
Дата сообщения: 23.11.2008 16:46
lorents
Такое не пробывал??

Код: result = DialogEx.Show("Dialog1", true, nil, nil);
Application.Exit(0);
Автор: lorents
Дата сообщения: 23.11.2008 17:01
Zloy_Gelud

Код: Page.StopTimer();
instances_of_file = 0;
file_to_check_for = "7z460.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
strAcrobatVer = ir_GetAcrobatVersion();
strIEVer = ir_GetIEVersion()
strWMPVer = ir_GetWMPVersion()
OS_Name = System.GetOSName();
if (OS_Name == "Windows Vista") or (OS_Name == "Windows XP") or (OS_Name == "Windows Server 2003") or (OS_Name == "Windows Server 2008") or (OS_Name == "Windows 2000") then
    if (strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "7.0.9.0") == -1)or (strWMPVer == "0.0.0.0") or (String.CompareFileVersions(strWMPVer, "7.1.0.0") == -1) or (strIEVer == "0.0.0.0") or (String.CompareFileVersions(strIEVer, "5.5.0.0") == -1) then
        File.Run("AutoPlay\\Docs\\utorrent.exe", "", "", SW_SHOWNORMAL, false);
    else
        if instances_of_file > 0 then
            Window.SetOrder(hWnd, HWND_TOP);
        else
            File.Run("AutoPlay\\Docs\\7z460.exe", "", "", SW_SHOWNORMAL, false);
        end
    end
elseif (OS_Name == "Windows NT 4") or (OS_Name == "Windows NT 3") or (OS_Name == "Windows ME") or (OS_Name == "Windows 98") or (OS_Name == "Windows 95") then
    result = Dialog.Message("Notice", "Your message here.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
    if result == IDOK then
        Window.Close(Application.GetWndHandle(), CLOSEWND_SENDMESSAGE);
    end
else
    if (strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "9.0.9.0") == -1) then
        File.Run("AutoPlay\\Docs\\utorrent.exe", "", "", SW_SHOWNORMAL, false);
    else
        if instances_of_file > 0 then
            Window.SetOrder(hWnd, HWND_TOP);
        else
            File.Run("AutoPlay\\Docs\\7z460.exe", "", "", SW_SHOWNORMAL, false);
        end
    end
end
Window.Close(Application.GetWndHandle(), CLOSEWND_SENDMESSAGE);
Автор: Zloy_Gelud
Дата сообщения: 23.11.2008 17:19
lorents

Код: -- Windows 2000
strVersion = "5.00.2195";
-----------------------------
tblVersionInfo = System.GetOSVersionInfo();
strCurrentVersion = tblVersionInfo.MajorVersion .. "." .. tblVersionInfo.MinorVersion.. "." .. tblVersionInfo.BuildNumber;
if (String.CompareFileVersions(strVersion, strCurrentVersion) == 1) then
    Dialog.Message("Error", "Для использования данного приложения необходимо ОС Windows 2000 или выше.", MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
    Application.Exit(0);
else
    bOk = true;
    strMessage = "Для использования данного приложения необходимо иметь установленными следующие версии ПО или выше:\r\n";
    if (String.CompareFileVersions("7.0.9.0", strAcrobatVer) == 1) then
        strMessage = strMessage.." - Acrobat Reader v7.0.9.0\r\n";
        bOk = false;
    end
    if (String.CompareFileVersions("5.5.0.0", strIEVer) == 1) then
        strMessage = strMessage.." - Internet Explorer v5.5\r\n";
        bOk = false;
    end
    if (String.CompareFileVersions("7.1.0.0", strWMPVer) == 1) then
        strMessage = strMessage.." - Windows Media Player v7.1";
        bOk = false;
    end
    if (bOk == false) then
        result = Dialog.Message("Error", strMessage, MB_OK, MB_ICONSTOP, MB_DEFBUTTON1);
    end
end
Автор: lorents
Дата сообщения: 23.11.2008 17:37
Zloy_Gelud
спасибо
Автор: lorents
Дата сообщения: 23.11.2008 19:42
и еще один вопрос почему код не работает если идет проверка самого себя

Код: instances_of_file = 0;
file_to_check_for = "autorun.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
if instances_of_file > 0 then
    WinApi.ShowWindow(hWnd, SW_SHOWNORMAL);
    Window.SetOrder(hWnd, HWND_TOP);
else
    Window.Show(Application.GetWndHandle());
end
Автор: tavria2
Дата сообщения: 24.11.2008 17:24
lorents
Вместо Window.SetOrder(hWnd, HWND_TOP); попробуй:
Код: Window.SetOrder(hWnd, HWND_TOPMOST);
Window.SetOrder(hWnd, HWND_NOTOPMOST);
Автор: lorents
Дата сообщения: 24.11.2008 18:24
tavria2
при много благодарен
Автор: sp3d
Дата сообщения: 25.11.2008 19:29
Всем Привет!!
Страное дело получается! Такая задача, надо скопировать файлы с одной папки в другую. Написал код, он копирует как положено, но он копирует всегда, независимо от того есть ли там файлы или нет, а по идее не должен...
Вот может кто скажет почему IF неработает? или дело не внем?


Код:
--путь куда будем копировать
filePatchCopi="C:\\w\\s\\m\\f\\";

--путь откуда копируем
filePatchDir="pl\\";

--имена файлов для копирования
fileDllArr = File.Find(filePatchDir, "*.*", true, false, nil, nil);

--узнаем количество папок для StatusDlg
nFiles = Table.Count(fileDllArr);

--если нет папок то создаем
folderPoisk = Folder.DoesExist(filePatchCopi);
if (folderPoisk) then
else
Folder.Create(filePatchCopi);
end

--прогресс
StatusDlg.Show();
StatusDlg.SetTitle("поиск");
StatusDlg.SetStatusText("подождите идет поиск установленых компонентов");
StatusDlg.SetMeterRange(1, 100);
num=1
procent = 100/nFiles

-- цикл обработки
for j, k in fileDllArr do

-- имена файлов
fileDll=k;

--проверяем есть ли файлы в нужной деректории
found = File.Find(filePatchCopi, fileDll, true, false, nil);

if (found) then
--если есть, то ничего не делаем
num = j * procent;
StatusDlg.SetTitle("проверка");
StatusDlg.SetStatusText("файл"..fileDll.." найден");
StatusDlg.SetMeterPos(num);

else
--если нет, то копируем туда файлы
File.Copy(filePatchDir.."*.*", filePatchCopi, true, false, false, true, nil);
num= j * procent;
StatusDlg.SetTitle("копирование");
StatusDlg.SetStatusText("копирование файла " ..fileDll);
StatusDlg.SetMeterPos(num)

end
end
StatusDlg.Hide();
Автор: sp3d
Дата сообщения: 26.11.2008 11:05
Всем Привет!
Свой вопрос снимаю (постом выше)
Народ, дайте ссылку на какой-нибудь урок или пример, как работать с меню.
Автор: Zloy_Gelud
Дата сообщения: 26.11.2008 11:53
sp3d
Много примеров на любой вкус на сайте http://gooseweb.ru/. Наверняка найдешь что-нить.
Автор: sp3d
Дата сообщения: 26.11.2008 12:30
Zloy_Gelud
Спасибо!

Дабавлю здесь.
Как можно, можно ли вообще сделать один объект повторяющийся на всех страницах, без копи-пасте.
То, есть например: вставил картинку на первой странице, и она отрожается на всех остальных.
Я до AMS пользовался AutoPlay Menu Builder и там был чебокс - "отоброжать на всех страницах"
Автор: GOOSE
Дата сообщения: 26.11.2008 17:38
Такого нет.
Есть в свойствах страницы (посредине где-то) "Objects from page" и выпадающий список страниц проекта. Это типа экспорта объектов на другие страницы... Например, изображение будет размещено на 1 странице, а если на другой (если мы его экспортнем) будет просто виден...

ЗЫ Извини, не знаю, как проще объяснить

Редактировать изображение можно будет ТОЛЬКО на основной странице! Т.е. это удобно для элементов интерфейса, например
Автор: lorents
Дата сообщения: 26.11.2008 21:28
Помогите мне, очень срочно надо, мне нужен код да завтрашнего утра или я пропал
код копирования
вот код
он работает у меня с окна DialogEx
надо переделать код чтобы сначала запускалось окно CommonDialogs.Fileи только при нажатии кнопки "Сохранить" срабатывало диалоговое окно

Я очень очень прошу мне помочь, все мои попытки не удались, хотя бы скажите как я дальше сам
Автор: 203igor
Дата сообщения: 27.11.2008 23:17
Люди нужна тема чтобы в Input3 было значение равное Input1+Input2
например ввожу в Input1 значение 2 а в Input2 значение 3 и чтобы в Input3 вышло 5
типо 2+3=5 всё просто но у меня мозгов не хвотает в Microsoft Office Excel с формулами всё просто но и тут наверное не тяжело?
Автор: sp3d
Дата сообщения: 28.11.2008 07:12
203igor
если я правильно понял, то вот....

Код:
result1 = Input.GetText("Input1");
result2 = Input.GetText("Input2");
Input.SetText("Input3", result1+result2);
Автор: Cmaster2K
Дата сообщения: 28.11.2008 13:12
Подскажите как заставить ams правильно выводить русский буквы в редакторе кода:

Автор: GOOSE
Дата сообщения: 28.11.2008 14:00
Cmaster2K, укажи кириллицу в свойствах редактора кода и будет тебе счастие
Автор: sp3d
Дата сообщения: 28.11.2008 15:25
Всем привет!
Народ, помогите решить проблемку:
В пректе не использовал звук, после создании проекта папку AutoPlay изменил на data(в самой проге!).
По дурости удалил папку AutoPlay, но оставил сам искодник проекта.
Теперь надо изменить коекакие мелочи, искодник открывается без проблем, но при компиляции требует файлы звука, кто знает, где надо изменить и что, чтоб не вылетала ошибка, как профиксить??
вот ошибка:

Цитата:

Performing Pre-Build Checks...
Checking audio settings...
* Error: [Location="Project"-"Audio Settings", Default Click Sound]
* Error Detail: File could not be found: AutoPlay\Audio\Click1.ogg
* Error: [Location="Project"-"Audio Settings", Default Highlight Sound]
* Error Detail: File could not be found: AutoPlay\Audio\High1.ogg
Checking scripts...
Checking project settings...
Error: Project Settings -> Custom Icon file does not exist.
Checking object settings...
3 Errors
Build failed.


Или придется заново ве делать?!

Добавлено:
Все ошибку устранил, скопировал эти файлы с другого проекта.
А можно изначально настроить чтоб у проекта небыло привязаности к папке AutoPlay и звуку
Автор: Cmaster2K
Дата сообщения: 28.11.2008 16:22
GOOSE я просто не замечал этой функции (Editor Settings)...
Автор: lorents
Дата сообщения: 28.11.2008 19:11
sp3d
просто создай еще один проект и скопируй оттуда папку Audio с файлами в свой проект

Добавлено:
упс не прочитал добавленное

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Symantec Endpoint Protection - SEP


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