Что нового

[Автоматизация] Фоновый запуск, автоматический запуск виртуальных машин VirtualBox

ulan44

Знающий
Сообщения
55
Репутация
8
AutoIt: 3.3.10.2 - 3.3.12.0
Версия: 1.0

Категория: Автоматизация, Вспомогательные функции

Описание: Данная утилита поможет запустить ваши виртуальные машины в фоновом режиме, без запуска основного GUI VirtualBox.
Так же, если в конфиг файле прописать имена виртуальных машин, они будут стартовать автоматически при запуске данной утилиты. Конфиг файл conf.ini формируется при первом запуске и находиться в папке @ScriptDir

Файл conf.ini выглядит следующим образом
Код/Пример:
Код:
[workdir] - рабочая папка VirtualBox
VMdir=C:\Program Files\Oracle\VirtualBox\

[avtostart] - какие виртуальные машины следует запускать автоматически, указывать через запятую, важно соблюдать регистр
startvm=win7,WIN2003,Ubuntu

Файл: http://

История версий:
v.1


Автор(ы): ulan44
 

Вложения

  • VboxUtil.au3
    3.6 КБ · Просмотры: 84

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
"+" для поддержки.


Добавлено:
Сообщение автоматически объединено:

Не нужно в "Категория" перечислять все возможные варианты, достаточно указать 1-2 основные категории.
 
Автор
U

ulan44

Знающий
Сообщения
55
Репутация
8
Yashied сказал(а):
"+" для поддержки.


Добавлено:
Сообщение автоматически объединено:

Не нужно в "Категория" перечислять все возможные варианты, достаточно указать 1-2 основные категории.



Спасибо за плюсик.
Исправил категории.
Функционал будет добавляться.
 

Skif_off

Знающий
Сообщения
173
Репутация
12
ulan44
Прошу прощения за любопытство, а почему Label и Input, а не ComboBox? Вбивать название целиком не очень удобно. Что-нибудь вроде:
Код:
Local $sCombo = ''
;...
If IsArray($array_Sum) And $array_Sum[0] > 0 Then
    $Combo1 = GUICtrlCreateCombo($array_Sum[1], 10, 150, 200, 150)
Else
    $Combo1 = GUICtrlCreateCombo('', 10, 150, 200, 150)
EndIf
If $array_Sum[0] >= 2 Then
    For $i = 2 To $array_Sum[0]
        $sCombo &= $array_Sum[$i]
        $sCombo &= '|'
    Next
    $sCombo = StringRegExpReplace($sCombo, '(?m)^(.*?)(\|)$', '\1')
    GUICtrlSetData($Combo1, $sCombo)
EndIf
?

Как-то начинал подобное, хотел автоматизировать подключение флешки, но там предварительно нужно повысить права на WinVista и выше + застопорился на такой последовательности: отключить один vdi-файл, сделать неизменяемым, подключить обратно, а после закрытия машины вернуть всё обратно. Только для $sPath было два варианта (только если штатно инсталлирован):
Код:
;Путь с обратным слэшем в конце!
;1
If _RegExists('HKLM\SOFTWARE\Oracle\VirtualBox') Then $sVBPath = RegRead('HKLM\SOFTWARE\Oracle\VirtualBox', 'InstallDir')

; AZJIO
Func _RegExists($sKey)
    RegRead($sKey, '')
    Return Not (@error > 0)
EndFunc

;2
If EnvGet('VBOX_MSI_INSTALL_PATH') Then $sVBPath = EnvGet('VBOX_MSI_INSTALL_PATH')
и собирался парсить конфиг на предмет машин
Код:
If FileExists(@UserProfileDir & '\.VirtualBox\VirtualBox.xml') Then

VBoxManage.exe list vms куда удобнее :smile:

P.S. Есть ещё такая штука, возможно, пригодиться.
 
Автор
U

ulan44

Знающий
Сообщения
55
Репутация
8
Критика всегда приветсвуется и будет учтена в последующих изменениях, проект не буду пускать на самотек :smile:
 
Верх