Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
[Terminer] CloneVDIManager
Auteur Message
Répondre en citant
Message [Terminer] CloneVDIManager 
[CloneVDIManager] - Laddy
CloneVDIManager serait une Gui reposerant sur l'utilisation de la commande VirtualboxManage.exe de Oracle Virtualbox.


Plateforme de développement : XP PRO


Todolist :


  • Lire les informations du fichier txt et les mettre dans les inputbox [fait]
  • Créer la fonction de Clonage : débugage, progressbar
  • Ajouter un bouton de Création de VM


Il permettrait de cloner nos images virtualbox et autres.

    1. Conception Gui

    Code:

    Opt("GUIOnEventMode", 1)
    Global $String1, $String2, $String3, $IniDestination, $IniSource, $ClonageHD, $Annuler, $Progess1
    Local $Progress1, $pid, $pourcent, $total

    #Region ### GUI SECTION CLONEVDIMANAGER ### CloneVDIManager.kxf
    $GuiCloneVDI = GUICreate("CloneVDIManager", 588, 356, 506, 332)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Sortie")
    $Group1 = GUICtrlCreateGroup("Fichiers", 16, 16, 553, 113)
    $Source = GUICtrlCreateLabel("Source :", 32, 48, 44, 17)
    $Destination = GUICtrlCreateLabel("Destination : ", 32, 88, 66, 17)
    $SourceFile = GUICtrlCreateInput("", 120, 48, 369, 21)
    $DestinationFile = GUICtrlCreateInput("", 120, 88, 369, 21)
    $BrowseSource = GUICtrlCreateButton("Parcourir...", 496, 48, 65, 25)
    GUICtrlSetOnEvent($BrowseSource, "BrowseSrc")
    $BrowseDestination = GUICtrlCreateButton("Parcourir...", 496, 88, 67, 25)
    GUICtrlSetOnEvent($BrowseDestination, "BrowseDst")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Informations Source", 16, 136, 553, 105)
    $Label4 = GUICtrlCreateLabel("UUID", 72, 160, 31, 17)
    $UUID = GUICtrlCreateInput("", 128, 160, 361, 21)
    $Label5 = GUICtrlCreateLabel("Taille du disque", 24, 200, 78, 17)
    $SizeHD = GUICtrlCreateInput("", 128, 192, 161, 21)
    $Label6 = GUICtrlCreateLabel("Accessibilite", 304, 200, 62, 17)
    $Valid = GUICtrlCreateInput("", 376, 192, 177, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("A propos", 16, 256, 553, 49)
    $Infos = GUICtrlCreateLabel("CloneVDIManager - Laddy -Cheffe de projet", 178, 271, 210, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Cloner = GUICtrlCreateButton("Cloner", 400, 312, 89, 25)
    GUICtrlSetOnEvent($Cloner, "ClonageHD")
    $Quitter = GUICtrlCreateButton("Quitter", 496, 312, 75, 25)
    GUICtrlSetOnEvent($Quitter, "Sortie")
    GUISetState(@SW_SHOW, $GuiCloneVDI)
    #EndRegion ### GUI SECTION CLONEVDIMANAGER ### CloneVDIManager.kxf

    ;Variable
    Global $SunVirtualBox = RegRead("HKEY_LOCAL_MACHINE\Software\Sun\VirtualBox", "InstallDir")
    Global $OracleVirtualBox = RegRead("HKEY_LOCAL_MACHINE\Software\Oracle\VirtualBox", "InstallDir")


    Do
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $BrowseSource
             BrowseSrc()
          Case $BrowseDestination
             BrowseDst()
          Case $Cloner
             ClonageHD()
          Case $Quitter
             Exit
       EndSwitch
    Until $nMsg = $GUI_EVENT_CLOSE



    Code:

    #cs
    CloneVDI Manager Projet commun 01 - Batch.xoo.it
    Cheffe de Projet : Laddy

    Pour les personnes voulant participées me contacter par MP.
    #ce

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### GUI SECTION CLONEVDIMANAGER ### CloneVDIManager.kxf
    $GuiCloneVDI = GUICreate("CloneVDIManager", 588, 356, 506, 332)
    $Group1 = GUICtrlCreateGroup("Fichiers", 16, 16, 553, 113)
    $Source = GUICtrlCreateLabel("Source :", 32, 48, 44, 17)
    $Destination = GUICtrlCreateLabel("Destination : ", 32, 88, 66, 17)
    $SourceFile = GUICtrlCreateInput("", 120, 48, 369, 21)
    $DestinationFile = GUICtrlCreateInput("", 120, 88, 369, 21)
    $BrowseSource = GUICtrlCreateButton("Parcourir...", 496, 48, 65, 25)
    $BrowseDestination = GUICtrlCreateButton("Parcourir...", 496, 88, 67, 25)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Informations Source", 16, 136, 553, 105)
    $Label4 = GUICtrlCreateLabel("UUID", 72, 160, 31, 17)
    $UUID = GUICtrlCreateInput("", 128, 160, 161, 21)
    $Label5 = GUICtrlCreateLabel("Taille du disque", 24, 200, 78, 17)
    $SizeHD = GUICtrlCreateInput("", 128, 192, 161, 21)
    $Label6 = GUICtrlCreateLabel("Accessibilite", 304, 184, 62, 17)
    $Valid = GUICtrlCreateInput("", 376, 184, 177, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("A propos", 16, 256, 553, 49)
    $Infos = GUICtrlCreateLabel("CloneVDIManager - Laddy -Cheffe de projet", 178, 271, 210, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Cloner = GUICtrlCreateButton("Cloner", 400, 312, 89, 25)
    $Quitter = GUICtrlCreateButton("Quitter", 496, 312, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END GUI ###

    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
          Case $BrowseSource
             BrowseSrc()
          Case $BrowseDestination
             BrowseDst()
          Case $Cloner
          Case $Quitter
             Exit
          Case $GUI_EVENT_CLOSE
             Exit

       EndSwitch
    WEnd



    Screenshot :






    2nd Gui :





    3eme Gui :




    4eme Gui :



    Gui de la création de la VM.



    Détection de la présence de Virtualbox :

    Attention deux éditeurs : Sun & Oracle.

    Code:

    If @OSArch = "X64" Then $OSarch = "64"
    ;If StringRight($vbox_path, 1) = "\" Then $vbox_path = StringRegExpReplace($vbox_path, "\\$", "")

    If RegRead("HKEY_LOCAL_MACHINE" & $OSarch & "\SOFTWARE\Oracle\VirtualBox", "InstallDir") Then
       $PathVirtualBox = RegRead("HKEY_LOCAL_MACHINE" & $OSarch & "\SOFTWARE\Oracle\VirtualBox", "InstallDir")
    ElseIf RegRead("HKEY_LOCAL_MACHINE" & $OSarch & "\SOFTWARE\Sun\VirtualBox", "InstallDir") Then
       $PathVirtualBox = RegRead("HKEY_LOCAL_MACHINE" & $OSarch & "\SOFTWARE\Sun\VirtualBox", "InstallDir")
    ElseIf RegRead("HKEY_LOCAL_MACHINE" & $OSarch & "\SOFTWARE\Sun\xVM VirtualBox", "InstallDir") Then
       $PathVirtualBox = RegRead("HKEY_LOCAL_MACHINE" & $OSarch & "\SOFTWARE\Sun\xVM VirtualBox", "InstallDir")
    Else
       MsgBox(16, "VirtualBox", "Erreur d'installation ou le logiciel n'est pas installé sur ce poste.")
       Exit
    EndIf


    Résultat :

      C:\Program Files\Sun\VirtualBox\
      C:\Program Files\Oracle\VirtualBox\

    Fonctions à réaliser :


    • Source :
      Code:

      ; creation de la fonction pour le fichier source VDI
      Func BrowseSrc()
      Local $message = "Selectionne la source de ton fichier VDI." ; message de la boite de dialogue
      Local $var = FileOpenDialog($message, @DesktopDir & "\", "Fichiers VirtualBox (*.vdi)", 1) ; ouverture de la boite de dialogue extension vdi uniquement si l'extension existe (1)
      GUICtrlSetData($SourceFile,$var) ; lecture de la variable $var dans inputbox $SourceFile
      IniWrite( @DesktopDir &"\CloneVDIinfo.ini","parametres","Source",GUICtrlRead($SourceFile)) ; stockage du chemin dans un fichier ini qui nous servira pour la commande vboxmanage clonehd.
      $IniSource = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Source", "NotFound") ;lecture du chemin source dans le fichier ini
      RunWait(@ComSpec & ' /c "' &$SunVirtualBox&'VBoxManage.exe"' &" showhdinfo " &$IniSource &" > " &$ListInfo, "", @SW_HIDE) ; execution de la commande.

      Func BrowseSrc()
      Local $ListInfo = "InfoSourceVDI.txt"
      Local $message = "Selectionne la source de ton fichier VDI."
      Local $var = FileOpenDialog($message, @DesktopDir & "\", "Fichiers VirtualBox (*.vdi)", 1)
      GUICtrlSetData($SourceFile,$var)
      IniWrite( @ScriptDir &"\CloneVDIinfo.ini","parametres","Source",GUICtrlRead($SourceFile))
      $IniSource = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
      FileChangeDir (@Scriptdir) ; forcer fileopendiag à changer de Path
      RunWait(@ComSpec & ' /c "' &$SunVirtualBox&'VBoxManage.exe"' &" showhdinfo " &$IniSource &" > " &$ListInfo, "", @SW_HIDE)
      $file = FileOpen("InfoSourceVDI.txt", 0)
      While 1
          $Line = FileReadLine($file)
          If @error Then ExitLoop
          If StringLeft($Line, 5) = "UUID:" Then $String1 = StringTrimLeft($Line,6)
          If StringLeft($Line, 11) = "Accessible:" Then $String2 = StringTrimLeft($Line,22)
          If StringLeft($Line, 13) = "Logical size:" Then $String3 = StringTrimLeft($Line,14)
      WEnd
      FileClose ($file)
      GUICtrlSetData($UUID,$String1)
      IF StringUpper($String2) = "yes" then
      GUICtrlSetColor($Valid, 0x00ff00)   ; green
      GUICtrlSetData($Valid,$String2)
      Else
      GUICtrlSetColor($Valid, 0xff0000)   ; Red
      GUICtrlSetData($Valid,$String2)
      EndIf
      GUICtrlSetData($SizeHD,Mo_To_Go($String3) &" Go")
      EndFunc

      ;modifier l'affiche des Mo en Go dans inputbox
      Func Mo_To_Go($mo, $decimal = 3)
          Return Round($mo/1024, $decimal)
      EndFunc



    • Destination :
      Code:

      ;création de la fonction de destination du fichier
      Func BrowseDst()
      Local $message = "Sélectionne la destination de ton fichier VDI." ; message de la boite de dialogue
      Local $var = FileOpenDialog($message, @DesktopDir & "\", "Fichiers (*.vdi)") ; ouverture de la boite de dialogue on indiquant le nom du vdi final.
      GUICtrlSetData($DestinationFile,$var) ; lecture de la variable dans inputbox
      IniWrite( @DesktopDir &"\CloneVDIinfo.ini","parametres","Destination",GUICtrlRead($DestinationFile)) ; stockage du chemin du fichier dans un ini.
      $IniDestination = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Destination", "NotFound")
      EndFunc


    • Clonage :
      Code:

      Func ClonageHD()
      #Region ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf
      $ClonageHD = GUICreate("Clonage Disque Virtuel", 306, 135, 192, 124)
      $Group1 = GUICtrlCreateGroup("En Cours", 8, 8, 289, 73)
      $Progress1 = GUICtrlCreateProgress(16, 40, 265, 17)
      GUICtrlCreateGroup("", -99, -99, 1, 1)
      $Annuler = GUICtrlCreateButton("Annuler", 208, 96, 81, 25)
      GUISetState(@SW_SHOW,$ClonageHD)
      #EndRegion ### GUI section ###

      #Region ### Action de clonage
      $IniSource = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
      $IniDestination = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Destination", "NotFound")
      RunWait($SunVirtualBox & '\VBoxManage.exe clonehd "' & $IniSource & '" "' & $IniDestination & '"', $SunVirtualBox, @SW_HIDE)
      GUIDelete($ClonageHD)
      #EndRegion ### Fin Clonage
      While 1
         $nMsg = GUIGetMsg()
         Switch $nMsg
            Case $Annuler
               Msgbox(2,"Annuler par l'utilisateur", "Annuler ?")
               GUIDelete($ClonageHD)
            Case $GUI_EVENT_CLOSE
               Exit
         EndSwitch
      WEnd
         EndFunc


      CloneVDIinfo.ini
      Code:

      [parametres]
      Source=F:\xngdows.vdi
      Destination=E:\xngdowsClone.vdi


    • Bouton Cloner
      Code:
      Func CloneVDI()
      EndFunc


    • Récupérer les informations :

      • UUID: 1182fa1e-c74c-45d0-97a5-7ab6b3a65946
      • Current size on disk: 6714 MBytes
      • Accessible: yes

      **************************************************************************************************************************************************

      2. Intégration des commandes

      • VBoxManage showhdinfo

        • Contenu de la commande :

          Citation:

          Sun VirtualBox Command Line Management Interface Version 3.1.6
          (C) 2005-2010 Sun Microsystems, Inc.
          All rights reserved.

          UUID: 1182fa1e-c74c-45d0-97a5-7ab6b3a65946
          Accessible: yes
          Description:
          Logical size: 10240 MBytes
          Current size on disk: 6714 MBytes
          Type: normal (base)
          Storage format: VDI
          In use by VMs: XNGDOWS (UUID: ae7f4d38-bd27-4bf4-828f-b048a8a556a4)
          Location: F:\xngdows.vdi



      • VBoxManage clonehd <uuid>|<filename> <outputfile>
        [--format VDI|VMDK|VHD|RAW|<other>]
        [--variant Standard,Fixed,Split2G,Stream,ESX]
        [--type normal|writethrough|immutable]
        [--remember] [--existing]

        • Exemple : VboxManager clonehd "F:\xngdows.vdi" "F:\xngdows01.vdi"







*************************************************************************

Il y a matière à en ajouter d'autres.



Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.

Usage:

VBoxManage [-v|--version] print version number and exit
VBoxManage [-q|--nologo] ... suppress the logo

VBoxManage list [--long|-l] vms|runningvms|ostypes|hostdvds|hostfloppies|
bridgedifs|hostonlyifs|dhcpservers|hostinfo|
hostcpuids|hddbackends|hdds|dvds|floppies|
usbhost|usbfilters|systemproperties

VBoxManage showvminfo <uuid>|<name> [--details] [--statistics]
[--machinereadable]

VBoxManage registervm <filename>

VBoxManage unregistervm <uuid>|<name> [--delete]

VBoxManage createvm --name <name>
[--ostype <ostype>]
[--register]
[--basefolder <path> | --settingsfile <path>]
[--uuid <uuid>]

VBoxManage modifyvm <uuid|name>
[--name <name>]
[--ostype <ostype>]
[--memory <memorysize in MB>]
[--vram <vramsize in MB>]
[--acpi on|off]
[--ioapic on|off]
[--pae on|off]
[--hwvirtex on|off]
[--nestedpaging on|off]
[--vtxvpid on|off]
[--cpuidset <leaf> <eax> <ebx> <ecx> <edx>]
[--cpuidremove <leaf>]
[--cpuidremoveall]
[--cpus <number>]
[--monitorcount <number>]
[--accelerate3d <on|off>]
[--accelerate2dvideo <on|off>]
[--firmware bios|efi|efi32|efi64]
[--bioslogofadein on|off]
[--bioslogofadeout on|off]
[--bioslogodisplaytime <msec>]
[--bioslogoimagepath <imagepath>]
[--biosbootmenu disabled|menuonly|messageandmenu]
[--biossystemtimeoffset <msec>]
[--biospxedebug on|off]
[--boot<1-4> none|floppy|dvd|disk|net>]
[--nic<1-N> none|null|nat|bridged|intnet|hostonly]
[--nictype<1-N> Am79C970A|Am79C973|
82540EM|82543GC|82545EM|
virtio]
[--cableconnected<1-N> on|off]
[--nictrace<1-N> on|off]
[--nictracefile<1-N> <filename>]
[--nicspeed<1-N> <kbps>]
[--bridgeadapter<1-N> none|<devicename>]
[--hostonlyadapter<1-N> none|<devicename>]
[--intnet<1-N> <network name>]
[--natnet<1-N> <network>|default]
[--macaddress<1-N> auto|<mac>]
[--uart<1-N> off|<I/O base> <IRQ>]
[--uartmode<1-N> disconnected|
server <pipe>|
client <pipe>|
file <file>|
<devicename>]
[--gueststatisticsinterval <seconds>]
[--audio none|null|dsound]
[--audiocontroller ac97|sb16]
[--clipboard disabled|hosttoguest|guesttohost|
bidirectional]
[--vrdp on|off]
[--vrdpport default|<ports>]
[--vrdpaddress <host>]
[--vrdpauthtype null|external|guest]
[--vrdpmulticon on|off]
[--vrdpreusecon on|off]
[--usb on|off]
[--usbehci on|off]
[--snapshotfolder default|<path>]
[--teleporter on|off]
[--teleporterport <port>]
[--teleporteraddress <address|empty>
[--teleporterpassword <password>]
[--hardwareuuid <uuid>]

VBoxManage import <ovf> [--dry-run|-n] [more options]
(run with -n to have options displayed
for a particular OVF)

VBoxManage export <machines> --output|-o <ovf>
[--legacy09]
[--vsys <number of virtual system>]
[--product <product name>]
[--producturl <product url>]
[--vendor <vendor name>]
[--vendorurl <vendor url>]
[--version <version info>]
[--eula <license text>]
[--eulafile <filename>]

VBoxManage startvm <uuid>|<name>
[--type gui|sdl|vrdp|headless]

VBoxManage controlvm <uuid>|<name>
pause|resume|reset|poweroff|savestate|
acpipowerbutton|acpisleepbutton|
keyboardputscancode <hex> [<hex> ...]|
injectnmi|
setlinkstate<1-N> on|off |
nic<1-N> null|nat|bridged|intnet|hostonly
[<devicename>] |
nictrace<1-N> on|off
nictracefile<1-N> <filename>
usbattach <uuid>|<address> |
usbdetach <uuid>|<address> |
vrdp on|off |
vrdpport default|<ports> |
setvideomodehint <xres> <yres> <bpp> [display] |
setcredentials <username> <password> <domain>
[--allowlocallogon <yes|no>] |
teleport --host <name> --port <port>
[--maxdowntime <msec>] [--password password]

VBoxManage discardstate <uuid>|<name>

VBoxManage adoptstate <uuid>|<name> <state_file>

VBoxManage snapshot <uuid>|<name>
take <name> [--description <desc>] [--pause] |
delete <uuid>|<name> |
restore <uuid>|<name> |
restorecurrent |
edit <uuid>|<name>|--current
[--name <name>]
[--description <desc>] |
showvminfo <uuid>|<name>

VBoxManage openmedium disk|dvd|floppy <filename>
[--type normal|immutable|writethrough] (disk only)
[--uuid <uuid>]
[--parentuuid <uuid>] (disk only)

VBoxManage closemedium disk|dvd|floppy <uuid>|<filename>
[--delete]

VBoxManage storageattach <uuid|vmname>
--storagectl <name>
--port <number>
--device <number>
[--type <dvddrive|hdd|fdd>
--medium <none|emptydrive|uuid|filename|host:<drive>>]
[--passthrough <on|off>]
[--forceunmount]

VBoxManage storagectl <uuid|vmname>
--name <name>
[--add <ide/sata/scsi/floppy>]
[--controller <LsiLogic/BusLogic/IntelAhci/PIIX3/PIIX4/ICH6/I82078>]
[--sataideemulation<1-4> <1-30>]
[--sataportcount <1-30>]
[--remove]

VBoxManage showhdinfo <uuid>|<filename>

VBoxManage createhd --filename <filename>
--size <megabytes>
[--format VDI|VMDK|VHD] (default: VDI)
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--type normal|writethrough] (default: normal)
[--comment <comment>]
[--remember]

VBoxManage modifyhd <uuid>|<filename>
[--type normal|writethrough|immutable]
[--autoreset on|off]
[--compact]

VBoxManage clonehd <uuid>|<filename> <outputfile>
[--format VDI|VMDK|VHD|RAW|<other>]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--type normal|writethrough|immutable]
[--remember] [--existing]

VBoxManage convertfromraw <filename> <outputfile>
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
VBoxManage convertfromraw stdin <outputfile> <bytes>
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]

VBoxManage addiscsidisk --server <name>|<ip>
--target <target>
[--port <port>]
[--lun <lun>]
[--encodedlun <lun>]
[--username <username>]
[--password <password>]
[--type normal|writethrough|immutable]
[--intnet]

VBoxManage getextradata global|<uuid>|<name>
<key>|enumerate

VBoxManage setextradata global|<uuid>|<name>
<key>
[<value>] (no value deletes key)

VBoxManage setproperty hdfolder default|<folder> |
machinefolder default|<folder> |
vrdpauthlibrary default|<library> |
websrvauthlibrary default|null|<library> |
loghistorycount <value>

VBoxManage usbfilter add <index,0-N>
--target <uuid>|<name>|global
--name <string>
--action ignore|hold (global filters only)
[--active yes|no] (yes)
[--vendorid <XXXX>] (null)
[--productid <XXXX>] (null)
[--revision <IIFF>] (null)
[--manufacturer <string>] (null)
[--product <string>] (null)
[--remote yes|no] (null, VM filters only)
[--serialnumber <string>] (null)
[--maskedinterfaces <XXXXXXXX>]

VBoxManage usbfilter modify <index,0-N>
--target <uuid>|<name>|global
[--name <string>]
[--action ignore|hold] (global filters only)
[--active yes|no]
[--vendorid <XXXX>|""]
[--productid <XXXX>|""]
[--revision <IIFF>|""]
[--manufacturer <string>|""]
[--product <string>|""]
[--remote yes|no] (null, VM filters only)
[--serialnumber <string>|""]
[--maskedinterfaces <XXXXXXXX>]

VBoxManage usbfilter remove <index,0-N>
--target <uuid>|<name>|global

VBoxManage sharedfolder add <vmname>|<uuid>
--name <name> --hostpath <hostpath>
[--transient] [--readonly]

VBoxManage sharedfolder remove <vmname>|<uuid>
--name <name> [--transient]

VBoxManage vmstatistics <vmname>|<uuid> [--reset]
[--pattern <pattern>] [--descriptions]

VBoxManage guestproperty get <vmname>|<uuid>
<property> [--verbose]

VBoxManage guestproperty set <vmname>|<uuid>
<property> [<value> [--flags <flags>]]

VBoxManage guestproperty enumerate <vmname>|<uuid>
[--patterns <patterns>]

VBoxManage guestproperty wait <vmname>|<uuid> <patterns>
[--timeout <milliseconds>] [--fail-on-timeout]

VBoxManage metrics list [*|host|<vmname> [<metric_list>]]
(comma-separated)

VBoxManage metrics setup
[--period <seconds>]
[--samples <count>]
[--list]
[*|host|<vmname> [<metric_list>]]

VBoxManage metrics query [*|host|<vmname> [<metric_list>]]

VBoxManage metrics collect
[--period <seconds>]
[--samples <count>]
[--list]
[--detach]
[*|host|<vmname> [<metric_list>]]

VBoxManage hostonlyif ipconfig <name>
[--dhcp |
--ip<ipv4> [--netmask<ipv4> (def: 255.255.255.0)] |
--ipv6<ipv6> [--netmasklengthv6<length> (def: 64)]]
create |
remove <name>

VBoxManage dhcpserver add|modify --netname <network_name> |
--ifname <hostonly_if_name>
[--ip <ip_address>
--netmask <network_mask>
--lowerip <lower_ip>
--upperip <upper_ip>]
[--enable | --disable]
VBoxManage dhcpserver remove --netname <network_name> |
--ifname <hostonly_if_name>


Syntax error: Invalid command '/?'

Trackers Aide Communautaire :



Merci BloodWolff, Ani, Zeshrek pour les aides.


Si vous souhaitez participer à ce projet, me contacter pour en discuter.

Sources :

  • CloneVDIManager.au3 (Source)
  • VboxManager.exe +2 DLL.
  • Fichier ini
  • InfoSourceVDI.txt
  • Image VDI
  • Image vmdk




Laddy



Dernière édition par Laddy le Jeu 15 Déc 2011 - 07:35; édité 13 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Terminer] CloneVDIManager 
Bonjour

j'en suis à lancer la commandLine avec RunWait et stocker l'information dans un fichier txt.

Si quelqu'un a une idée

Code:

Global $SunVirtualBox = RegRead("HKEY_LOCAL_MACHINE\Software\Sun\VirtualBox", "InstallDir")
Local $ListInfo = "InfoSourceVDI.txt"
RunWait(@ComSpec & " /c " &$SunVirtualBox &"VBoxManage.exe showhdinfo" &GUICtrlRead($SourceFile) &" > ", $ListInfo, "", @SW_HIDE)


Si je place Vboxmanage sur le bureau avec le script ceci fonctionne :
RunWait(@ComSpec & " /c VBoxManage.exe showhdinfo F:\xngdows.vdi > " & $ListInfo, "", @SW_HIDE)

$var = "F:\xngdows.vdi"
RunWait(@ComSpec & " /c VBoxManage.exe showhdinfo " &$var &"> " & $ListInfo, "", @SW_HIDE)

mais je vais le chercher dans son dossier d'installation ça ne fonctionne plus



Dernière édition par Laddy le Mer 15 Déc 2010 - 07:33; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Salut,

Beau projet ! J'aimerais beaucoup y participer, malheureusement, je n'aurais sûrement pas le temps cette semaine. J'utilise WBox mais je ne connais pas VirtualboxManage.exe donc je vais devoir me renseigner un peu là dessus avant de te répondre.

A+




______________________________________________________
Répondre en citant
Message [Terminer] CloneVDIManager 
Bonjour Sablier91,

J'ai résolu mon problème de chemin RunWait, cependant impossible de le faire executer dans la fonction pour le moment.

Code:

$IniSource = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
RunWait(@ComSpec & " /c """ &$SunVirtualBox&"VBoxManage.exe""" &" showhdinfo " &$IniSource &" > " &$ListInfo, "", @SW_HIDE)


Aide VboxManage : http://www.virtualbox.org/manual/ch08.html

Bon courage pour tes examens. Je serai absente pendant les vacances de Noël.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Func BrowseSrc() terminée.








Dernière édition par Laddy le Ven 17 Déc 2010 - 14:53; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
###Fonction de clonage en cours de rédaction ##### func ClonageHD()

Code:

Func ClonageHD()
#Region ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf
$ClonageHD = GUICreate("Clonage Disque Virtuel", 306, 135, 192, 124)
$Group1 = GUICtrlCreateGroup("En Cours", 8, 8, 289, 73)
$Progress1 = GUICtrlCreateProgress(16, 40, 265, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Annuler = GUICtrlCreateButton("Annuler", 208, 96, 81, 25)
GUISetState(@SW_SHOW,$ClonageHD)
#EndRegion ### GUI section ###

#Region ### Action de clonage
$IniSource = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Source", "NotFound") ; lecture de la source dans le fichier ini
$IniDestination = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Destination", "NotFound") ; lecture de la destination dans le fichier ini
RunWait($SunVirtualBox & '\VBoxManage.exe clonehd "' & $IniSource & '" "' & $IniDestination & '"', $SunVirtualBox, @SW_HIDE) ; execution de la commande
Msgbox(0,"Terminer", "Clonage Terminé" &@CRLF &$IniDestination) ; affichage d'un message lorsque le clonage est terminé
Exit ; fermer le PROGRAMME
#EndRegion ### Fin Clonage
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $Annuler
         Msgbox(2,"Annuler par l'utilisateur", "Annuler ?")
         GUIDelete($ClonageHD)
      Case $GUI_EVENT_CLOSE
         Exit
   EndSwitch
WEnd
   EndFunc


#Bug :

- ProgressBar ne fonctionne pas.
- Problème de conflit Gui1 et Gui2.






______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message ricky 
Hello,

comme promis, me voilà... Ma présentation : ici

Je jette un coup d'œil à ton code...



Répondre en citant
Message [Terminer] CloneVDIManager 
Hello
cool
bonne lecture j'ai commenté mon code pour que tout le monde puisse suivre y a surement des choses à faire en mieux mais pour le moment ça fonctionne

Bon dimanche




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Mise en place d'un espace de travail Collaboratif :
Titanpad permet de travailler en meme temps avec des couleurs différents sur un projet. Il faudra surement créer votre propre compte.
http://laddy.titanpad.com/ep/pad/view/2/latest




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Progressbar ok :


Code:

Func ClonageHD()
#Region ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf
$ClonageHD = GUICreate("Clonage Disque Virtuel", 306, 135, 192, 124)
$Group1 = GUICtrlCreateGroup("En Cours", 8, 8, 289, 73)
$Progress1 = GUICtrlCreateProgress(16, 40, 265, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Annuler = GUICtrlCreateButton("Annuler", 208, 96, 81, 25)
GUISetState(@SW_SHOW,$ClonageHD)
#EndRegion ### GUI section ###

#Region ### Action de clonage
$IniSource = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
$IniDestination = IniRead(@ScriptDir &"\CloneVDIinfo.ini", "parametres", "Destination", "NotFound")
$pid= Run($SunVirtualBox & 'VBoxManage.exe clonehd "' & $IniSource & '" "' & $IniDestination & '"', $SunVirtualBox, @SW_HIDE)
         $total = FileGetSize($IniSource) ; ici il faudra mettre la taille du fichier source qui se fera clôner
            AdlibRegister("Update_progress",1000)

;GUIDelete($ClonageHD)

Msgbox(0,"Terminer", "Clonage Terminé" &@CRLF &$IniDestination)

Exit

#EndRegion ### Fin Clonage
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $Annuler
         Msgbox(2,"Annuler par l'utilisateur", "Annuler ?")
         GUIDelete($ClonageHD)
      Case $GUI_EVENT_CLOSE
         Exit
   EndSwitch
WEnd
   EndFunc

#Region ### fonction pour la progressbar
Func Update_progress()
    $pourcent=int (FileGetSize($IniDestination)/$total * 100) ; calcul de la taille Destination en fonction de la source
    ConsoleWrite($pourcent&@CRLF)
    GUICtrlSetData($Progress1,$pourcent)
    If Not ProcessExists($pid) Then
        GUICtrlSetData($Progress1,100)
        AdlibUnRegister("Update_progress")

    EndIf
EndFunc
#EndRegion ### Fin de fonction


#Bug
- Problème de conflit Gui1 et Gui2.

#Bug Gui corrigé :

Code:

Func ClonageHD()
   #Region ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf
   $ClonageHD = GUICreate("Clonage Disque Virtuel", 306, 135, 192, 124)
   $Group1 = GUICtrlCreateGroup("En Cours", 8, 8, 289, 73)
   $Progress1 = GUICtrlCreateProgress(16, 40, 265, 17)
   GUICtrlCreateGroup("", -99, -99, 1, 1)
   $Annuler = GUICtrlCreateButton("Annuler", 208, 96, 81, 25)
   GUICtrlSetOnEvent($Annuler, "Annuler")
   GUISetState(@SW_SHOW, $ClonageHD)
   #EndRegion ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf


   #Region ### Action de clonage
   $IniSource = IniRead(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
   $IniDestination = IniRead(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Destination", "NotFound")
   $pid = Run($SunVirtualBox & 'VBoxManage.exe clonehd "' & $IniSource & '" "' & $IniDestination & '"', $SunVirtualBox, @SW_HIDE)
   $total = FileGetSize($IniSource) ; ici il faudra mettre la taille du fichier source qui se fera clôner
   AdlibRegister("Update_progress", 1000)
   #EndRegion ### Action de clonage


EndFunc   ;==>ClonageHD

Func Annuler()
   $Choix = MsgBox(2, "Annuler par l'utilisateur", "Annuler ?")
   Switch $Choix
      Case 3
         ProcessClose($pid)
         ProcessClose("vboxSVC.exe")
         KillGui2()
      Case 4
      Case 5
   EndSwitch
EndFunc   ;==>Annuler




Dernière édition par Laddy le Jeu 23 Déc 2010 - 17:29; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Prochainement :

Ajout d'un bouton convertir.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Maj du code importante se reporter à Titanpad ou télécharger la source.

Changelog :

#Debugg Gui Ok.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Salut,

beau projet une fois de plus Wink ...

bravo Laddy, je suivrai çà de pret ...

Bonne journée



Répondre en citant
Message [Terminer] CloneVDIManager 
Merci MultiUser ;D


J essaie d avoir des projets intéressants pour motiver y a pas mieux ;D




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Terminer] CloneVDIManager 
Ajout de la fonction pour créer la machine Virtuelle mais pour le moment ça bogue.
Soucis sur la commande RunWait.


Code:

#cs
   CloneVDI Manager v1.1 By Laddy
   CloneVDI Manager Projet commun 01 - Batch.xoo.it
   Cheffe de Projet : Laddy

   Pour les personnes voulant participées me contacter par MP.

#ce


#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt("GUIOnEventMode", 1)
Global $String1, $String2, $String3, $IniDestination, $IniSource, $ClonageHD, $Annuler, $Progess1, $Creer, $BrowseDestination, $BrowseSource, $Cloner, $GuiCreateVM
Global $NameNewVM, $PathDir, $MemoryRAM, $VDI, $OS
Local $Progress1, $pid, $pourcent, $total

#Region ### GUI SECTION CLONEVDIMANAGER ### CloneVDIManager.kxf
$GuiCloneVDI = GUICreate("CloneVDIManager", 588, 356, 506, 332)
GUISetOnEvent($GUI_EVENT_CLOSE, "Sortie")
$Group1 = GUICtrlCreateGroup("Fichiers", 16, 16, 553, 113)
$Source = GUICtrlCreateLabel("Source :", 32, 48, 44, 17)
$Destination = GUICtrlCreateLabel("Destination : ", 32, 88, 66, 17)
$SourceFile = GUICtrlCreateInput("", 120, 48, 369, 21)
$DestinationFile = GUICtrlCreateInput("", 120, 88, 369, 21)
$BrowseSource = GUICtrlCreateButton("Parcourir...", 496, 48, 65, 25)
GUICtrlSetOnEvent($BrowseSource, "BrowseSrc")
$BrowseDestination = GUICtrlCreateButton("Parcourir...", 496, 88, 67, 25)
GUICtrlSetOnEvent($BrowseDestination, "BrowseDst")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Informations Source", 16, 136, 553, 105)
$Label4 = GUICtrlCreateLabel("UUID", 72, 160, 31, 17)
$UUID = GUICtrlCreateInput("", 128, 160, 361, 21)
$Label5 = GUICtrlCreateLabel("Taille du disque", 24, 200, 78, 17)
$SizeHD = GUICtrlCreateInput("", 128, 192, 161, 21)
$Label6 = GUICtrlCreateLabel("Accessibilite", 304, 200, 62, 17)
$Valid = GUICtrlCreateInput("", 376, 192, 177, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("A propos", 16, 256, 553, 49)
$Infos = GUICtrlCreateLabel("CloneVDIManager - Laddy -Cheffe de projet", 178, 271, 210, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Creer = GUICtrlCreateButton("Creer", 24, 312, 75, 25)
GUICtrlSetOnEvent($Creer, "CreateVM")
$Cloner = GUICtrlCreateButton("Cloner", 400, 312, 89, 25)
GUICtrlSetOnEvent($Cloner, "ClonageHD")
$Quitter = GUICtrlCreateButton("Quitter", 496, 312, 75, 25)
GUICtrlSetOnEvent($Quitter, "Sortie")
GUISetState(@SW_SHOW, $GuiCloneVDI)
#EndRegion ### GUI SECTION CLONEVDIMANAGER ### CloneVDIManager.kxf

;Variable
Global $SunVirtualBox = RegRead("HKEY_LOCAL_MACHINE\Software\Sun\VirtualBox", "InstallDir")
Global $OracleVirtualBox = RegRead("HKEY_LOCAL_MACHINE\Software\Oracle\VirtualBox", "InstallDir")


Do
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $BrowseSource
         BrowseSrc()
      Case $BrowseDestination
         BrowseDst()
      Case $Creer
         CreateVM()
      Case $Cloner
         ClonageHD()
      Case $Quitter
         Exit
   EndSwitch
Until $nMsg = $GUI_EVENT_CLOSE


Func CreateVM()
   ;ID créer une Gui.
   #Region ### START Koda GUI section ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\GuiCreateVM.kxf
   Global $GuiCreateVM = GUICreate("GuiCreateVM", 505, 257, 190, 121)
   Global $PathDir = GUICtrlCreateInput("PathDir", 96, 56, 385, 21)
   Global $VDI = GUICtrlCreateInput("VDI", 96, 96, 385, 21)
   Global $Go = GUICtrlCreateButton("Go", 408, 192, 75, 25)
   GUICtrlSetOnEvent($Go, "GoCreate")
   Global $Label1 = GUICtrlCreateLabel("Dossier :", 24, 56, 45, 17)
   Global $Label2 = GUICtrlCreateLabel("Image VDI", 24, 96, 54, 17)
   Global $MemoryRAM = GUICtrlCreateInput("MemoryRAM", 96, 136, 105, 21)
   Global $Memoire = GUICtrlCreateLabel("Memoire RAM :", 8, 144, 77, 17)
   Global $NameNewVM = GUICtrlCreateInput("NameVM", 96, 16, 121, 21)
   Global $Label3 = GUICtrlCreateLabel("Nom de la VM : ", 8, 16, 80, 17)
   Global $Label4 = GUICtrlCreateLabel("MB", 208, 144, 20, 17)
   Global $OS = GUICtrlCreateInput("OS", 360, 16, 121, 21)
   Global $Label5 = GUICtrlCreateLabel("OS Type :", 296, 16, 52, 17)
   GUISetState(@SW_SHOW, $GuiCreateVM)
   #EndRegion ### END Koda GUI section ###
EndFunc   ;==>CreateVM

Func GoCreate()
   ;note OStype est accessible via vboxmanage list Ostypes
   ;Exemple
   #cs
   ID:          WindowsXP
   Description: Windows XP

   ID:          Windows7
    Description: Windows 7
   #ce
   ;command de création Nom de la VM - Non testé VBoxManage storagectl "Windows XP" --name "IDE Controller" --add ide --controller PIIX4
   RunWait(@ComSpec & ' /c "' & $SunVirtualBox & 'VBoxManage.exe"' & " createvm --name " & GUICtrlRead($NameNewVM) & " --ostype " &GUICtrlRead($OS) & " --basefolder " & GUICtrlRead($PathDir) & " --register", "", @SW_HIDE) ;fichier bien crée dans le dossier indiqué
   RunWait(@ComSpec & ' /c "' & $SunVirtualBox & 'VBoxManage.exe"' & " modifyvm --name " & GUICtrlRead($NameNewVM) & " --memory " &GUICtrlRead($MemoryRAM), "", @SW_HIDE) ; memoire non prise en compte
   RunWait(@ComSpec & ' /c "' & $SunVirtualBox & 'VBoxManage.exe"' & " storagectl " & GUICtrlRead($NameNewVM) & ' -- name "IDE Controller" --add ide --controller PIIX4' , "", @SW_HIDE)
   RunWait(@ComSpec & ' /c "' & $SunVirtualBox & 'VBoxManage.exe"' & " storageattach " & GUICtrlRead($NameNewVM) & " --storagectl " & '"IDE Controller"' & " --port 0 --device 0 --type hdd --medium " & GUICtrlRead($VDI), "", @SW_HIDE) ;vdi non attaché
   KillGui3()
EndFunc   ;==>GoCreate




Func BrowseSrc()
   Local $ListInfo = "InfoSourceVDI.txt"
   Local $message = "Selectionne la source de ton fichier VDI."
   Local $var = FileOpenDialog($message, @DesktopDir & "\", "Fichiers VirtualBox (*.vdi;*.vmdk)", 1)
   GUICtrlSetData($SourceFile, $var)
   IniWrite(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Source", GUICtrlRead($SourceFile))
   $IniSource = IniRead(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
   FileChangeDir(@ScriptDir)
   RunWait(@ComSpec & ' /c "' & $SunVirtualBox & 'VBoxManage.exe"' & " showhdinfo " & $IniSource & " > " & $ListInfo, "", @SW_HIDE)
   $file = FileOpen("InfoSourceVDI.txt", 0)
   While 1
      $Line = FileReadLine($file)
      If @error Then ExitLoop
      If StringLeft($Line, 5) = "UUID:" Then $String1 = StringTrimLeft($Line, 6)
      If StringLeft($Line, 11) = "Accessible:" Then $String2 = StringTrimLeft($Line, 22)
      If StringLeft($Line, 13) = "Logical size:" Then $String3 = StringTrimLeft($Line, 14)
   WEnd
   FileClose($file)
   GUICtrlSetData($UUID, $String1)
   If StringUpper($String2) = "yes" Then
      GUICtrlSetColor($Valid, 0x00ff00) ; green
      GUICtrlSetData($Valid, $String2)
   Else
      GUICtrlSetColor($Valid, 0xff0000) ; Red
      GUICtrlSetData($Valid, $String2)
   EndIf
   GUICtrlSetData($SizeHD, Mo_To_Go($String3) & " Go")
EndFunc   ;==>BrowseSrc

Func BrowseDst()
   Local $message = "Sélectionne la destination de ton fichier VDI."
   Local $var = FileOpenDialog($message, @DesktopDir & "\", "Fichiers (*.vdi)")
   GUICtrlSetData($DestinationFile, $var)
   IniWrite(@DesktopDir & "\CloneVDIinfo.ini", "parametres", "Destination", GUICtrlRead($DestinationFile))
   $IniDestination = IniRead(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Destination", "NotFound")
EndFunc   ;==>BrowseDst

Func Mo_To_Go($mo, $decimal = 3)
   Return Round($mo / 1024, $decimal)
EndFunc   ;==>Mo_To_Go

Func ClonageHD()
   #Region ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf
   $ClonageHD = GUICreate("Clonage Disque Virtuel", 306, 135, 192, 124)
   $Group1 = GUICtrlCreateGroup("En Cours", 8, 8, 289, 73)
   $Progress1 = GUICtrlCreateProgress(16, 40, 265, 17)
   GUICtrlCreateGroup("", -99, -99, 1, 1)
   $Annuler = GUICtrlCreateButton("Annuler", 208, 96, 81, 25)
   GUICtrlSetOnEvent($Annuler, "Annuler")
   GUISetState(@SW_SHOW, $ClonageHD)
   #EndRegion ### GUI Clonage ### Form=D:\Téléchargements\koda_1.7.3.0\Forms\ClonageHardDisk.kxf


   #Region ### Action de clonage
   $IniSource = IniRead(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Source", "NotFound")
   $IniDestination = IniRead(@ScriptDir & "\CloneVDIinfo.ini", "parametres", "Destination", "NotFound")
   $pid = Run($SunVirtualBox & 'VBoxManage.exe clonehd "' & $IniSource & '" "' & $IniDestination & '"', $SunVirtualBox, @SW_HIDE)
   $total = FileGetSize($IniSource) ; ici il faudra mettre la taille du fichier source qui se fera clôner
   AdlibRegister("Update_progress", 1000)
   #EndRegion ### Action de clonage


EndFunc   ;==>ClonageHD

Func Annuler()
   $Choix = MsgBox(2, "Annuler par l'utilisateur", "Annuler ?")
   Switch $Choix
      Case 3
         ProcessClose($pid)
         ProcessClose("vboxSVC.exe")
         KillGui2()
      Case 4
      Case 5
   EndSwitch
EndFunc   ;==>Annuler


Func KillGui2() ; *****
   GUIDelete($ClonageHD) ; *****
EndFunc   ;==>KillGui2

Func KillGui3() ; *****
   GUIDelete($GuiCreateVM) ; *****
EndFunc   ;==>KillGui3

Func Sortie() ; *****
   If @GUI_WinHandle = $GuiCloneVDI Then ; *****
      Exit ; *****
   Else ; *****
      GUIDelete(@GUI_WinHandle) ; *****
   EndIf ; *****
EndFunc   ;==>Sortie

#Region ### fonction pour la progressbar
Func Update_progress()
   $pourcent = Int(FileGetSize($IniDestination) / $total * 100) ; calcul de la taille Destination en fonction de la source
   ConsoleWrite($pourcent & @CRLF)
   GUICtrlSetData($Progress1, $pourcent)
   If Not ProcessExists($pid) Then
      GUICtrlSetData($Progress1, 100)
      MsgBox("0", "Terminer", "Clonage Terminé")
      AdlibUnRegister("Update_progress")
      KillGui2()
   EndIf
EndFunc   ;==>Update_progress
#EndRegion ### fonction pour la progressbar





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [Terminer] CloneVDIManager 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch