Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Оболочки для запуска програм.

Ответить
Настройки темы
Оболочки для запуска програм.

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


source + binary

Вот написал себе игрушку, наверняка у всех есть кодеки xvid/ac3 итп.. Хотелось бы узнать насколько удачно я зделал мой детский скрипт )))

Код: Выделить весь код
SplashImageOn("", @ScriptDir & "\xvid.bmp" , 213, 44, -1, 100, 1)
ShellExecute('rundll32.exe', 'xvid.ax,Configure', @SystemDir & '\')
WinWait('[Class:#32770]')
WinSetTitle('[Class:#32770]', '', '          ..::. XviD .::..')
WinMove('          ..::. XviD .::..', '', 401, 163, 350, 532, 4)
SplashOff()
Если есть идеи улучшить тут что-то?
У меня есть ещё вопрос... , вот ac3config.exe не поддерживает стили XP, особенно под x64,
я пытался подложить ac3config.exe.manifest, и даже так ac3filter.ax.manifest - не помогло!
Тоже самое манифест для скрипта тоже ничего не дал.
Есть ли возможность через автоит скрипт как-то заставить окно поддерживать стили?
Ведь скрипт вроде бы должен выступать в роли хоста или родительского окна??
Хотя ShellExecute() тут не лучшее решение, так как запускает прогу как внешний процесс... ??

Вот на всякий случай минимальный манифест для x64
Код: Выделить весь код
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="amd64"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
</dependentAssembly>
</dependency>
</assembly>
----
Чуть не забыл самое главное! Хотел давно ещё узнать, как можно получить текущий размер экрана?
Мне это нужно для того чтобы установить любое окно программы посередине экрана...
И не только по середине, а разные варианты могут быть. Но главное тут как получить разрешение,
и как от него отсчитать, если не трудно подробно покажите?

-------
Полезное сообщение


Отправлено: 04:55, 31-07-2010

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата semiono:
как можно получить текущий размер экрана? »
Макросы (из русской справки):
Цитата:
@DesktopWidth - ширина экрана в пикселах (разрешение по вертикали горизонтали).
@DesktopHeight - высота экрана в пикселах (разрешение по горизонтали вертикали).
Это числа с которыми можно производить арифметические действия.

Последний раз редактировалось madmasles, 31-07-2010 в 14:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:12, 31-07-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Очень нужна такая штука - GetCommandLine()... Сейчас поясню!
Нужно чтоб скрипт запускающий приложение передавал любые параметры коммандной строки на вход приложения...

Например,

script.exe /help - данный скрипт запустит "msiexec.exe /help" или что угодно наподобие этому.
Никакого парсинга не должно быть, просто передача или игнорирование любого ввода.

Так же открытым вопрос об стилях XP, можно ли прорисовать стиль приложению которое
не поддерживает manifest, или даже если поддерживает, но manifest просто отсутствует.

@DesktopWidth - это действительно ценная штука! Можно сразу прописать параметры экрана
в реестр и потом открыть приложение с предустановленными параметрами на любом экране!

-------
Полезное сообщение


Отправлено: 08:06, 02-08-2010 | #3


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


"Сырой" рабочий пример

Код: Выделить весь код
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

$Key = "/help"

$aArray = StringSplit($CmdLineRaw, " ")

If $aArray[1] <> "" Then

    For $i = 1 To $aArray[0]
        ConsoleWrite("Key #" & $i & " = " & $aArray[$i] & @CRLF)
    Next

    If $aArray[1] = $Key And $aArray[0] = 1 Then RunWait("msiexec.exe " & $aArray[1])

EndIf
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:55, 02-08-2010 | #4


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$Key = "/help"
Зачем ключ ввода указан явно? Я же говорил нужна передача любого ввода как есть.
Иначе придётся каждый раз описывать все свитчеры приложений которые не всегда сразу известны.
Хотелось бы универсальный метод, если это возможно. Чтобы потом как шаблон использовать.
...что передал скрипту, то и вылетело на вход приложению...
если это не валидно, то приложение само разберётся...

Или это как пример было? Но я сам не разберусь.

-------
Полезное сообщение


Отправлено: 20:03, 02-08-2010 | #5


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Ключ был для примера

Цитата semiono:
...что передал скрипту, то и вылетело на вход приложению... »
На примере Aimp
Код: Выделить весь код
$aArray = StringSplit($CmdLineRaw, " ")

;~ If $aArray[1] <> "" Then RunWait("msiexec.exe " & $aArray[1])

If $aArray[1] <> "" Then
    RunWait("aimp_2.61.570.exe " & $aArray[1]) ; Запуск с ключём ( aimp_2.61.570.exe /S )
Else
    RunWait("aimp_2.61.570.exe") ; Если нет ключа, запускаем без него.
EndIf
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:35, 02-08-2010 | #6


Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Хорошо!
Один вопросик ещё, а вот в батниках обычно я пишу так aimp_2.61.570.exe %*
А здесь в автоит похожего ничего нет? Чисто из любопытства спрашиваю.
Или автоит это не батник и само собой что тут другие законы.
И ещё, а что интересно если после Else комманду убрать, хотя это можно проверить... ошибка будет?
Вообщем я доволен, надеюсь что будет хорошо работать... ОК!

-------
Полезное сообщение


Отправлено: 04:06, 03-08-2010 | #7


Новый участник


Сообщения: 9
Благодарности: 2

Профиль | Отправить PM | Цитировать


$CmdLine[0] - Кол-во параметров
$CmdLine[1] - %1
$CmdLine[2] - %2
$CmdLineRaw - %*

Читаем справку про параметры командной строки.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:07, 03-08-2010 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Оболочки для запуска програм.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Помогите найти скрипт для удаленного удаления програм magwolf Скриптовые языки администрирования Windows 20 01-02-2016 23:35
mp3ext расширение оболочки explorer для mp3 файлов mickmack Автоматическая установка приложений 3 28-11-2010 01:55
Ошибка - нет запуска програм в авторане и вообще все заблокировано! kalion-kill Лечение систем от вредоносных программ 1 24-12-2009 16:56
Multi Install 2.1.1 - Программа для создания меню запуска для CDROM Multik84 Автоматическая установка приложений 0 05-10-2008 14:04
Разное - [решено] Неожиданая остановка запуска програм Bester Microsoft Windows 2000/XP 14 08-01-2008 00:23




 
Переход