AutoIT i.c.m. Snapshot.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • waztone
  • Registratie: November 2001
  • Laatst online: 26-06 05:42

waztone

de enige echte

Topicstarter
Beste medetweakers,

ik probeer een programma te maken met een eigen interface in AutoIT.
Nu heb ik daar een combobox in gemaakt met wat knoppen.
In die combobox kan ik een bestandslocatie selecteren, en met de knoppen moet ik met snapshot images kunnen maken of terugzetten.
met het run commando kan je wel het programma snapshot starten (met zijn eigen GUI) of een batch file met snapshot commando's (wat opzich beter is, vanwege de parameters die je kan meegeven). Maar dit werkt niet zoals ik wil.
Wat ik wil doen is het volgende;
- selecteer een bestandslocatie (bijv: E:\Map) d.m.v. de combobox
- klik op de knop 'maak basis image'
Als op de knop wordt gedrukt worden enkele variabelen aangemaakt. Een variabele voor de locatie ($loc) en een variabele voor de image naam ($imgNaam) en dan moeten deze variabelen aan het snapshot programma doorgegeven worden.

Als ik dit in een prompt zou moeten intikken zou er moeten komen te staan; "snapshot C: E:\Map"
en dan geeft ie netjes in de prompt weer dat ie bezig is met het maken van de image, met een percentage wat al voltooid is.
Ik wil dus dat ik met die variabelen hetzelfde krijg, zonder de GUI van snapshot te zien. En wat helemaal mooi zou zijn, is dat ik die percentages kan afvangen om deze in mijn eigen gemaakte GUI kan gebruiken (met een progressbar ofzoiets).

Kort gezegd dus;
Hoe kan ik in AutoIT programma's starten vanaf de cmd-prompt met variabelen?

All is fair in God of War


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 22-09 14:14

Matis

Rubber Rocket

_RunDos;

http://www.autoitscript.com/forum/index.php?showtopic=46073

pseudo code
C:
1
2
#include <Process.au3>
$rc = _RunDos('netsh interface IP set address "L" static 192.168.0.1 255.255.255.0')


Verder heeft AutoIT weinig tot niets te maken met programming IMO.

[ Voor 64% gewijzigd door Matis op 08-04-2009 15:24 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • waztone
  • Registratie: November 2001
  • Laatst online: 26-06 05:42

waztone

de enige echte

Topicstarter
OK thnx, dat werkt wel om de image te maken, ik krijg alleen geen feedback....
Ik krijg het dus niet voor elkaar om af te vangen hoeveel procent al gedaan is, en dit terug te vertalen naar een progress bar in mijn GUI.
Als ik het commando gewoon draai vanuit de prompt, krijg je netjes te zien hoeveel procent gedaan is.
Moet ik nu toch uitwijken naar een taal als C++ o.i.d.? Daar heb ik nl. geen ervaring mee...dit leek mij wel makkelijk........

All is fair in God of War


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 22-09 20:50

Sebazzz

3dp

waztone schreef op woensdag 08 april 2009 @ 20:32:
Moet ik nu toch uitwijken naar een taal als C++ o.i.d.? Daar heb ik nl. geen ervaring mee...dit leek mij wel makkelijk........
Je kan natuurlijk ook hoger gaan zoals C# of VB.net. De basics zijn zo aangeleerd. Of je gooit PHP/CLI (command line interface, geen server nodig) op je computer maakt een PHP script of je gooit de perl runtime erop, of je gebruikt Python. Mogelijkheden liggen open.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je zult de output af moeten vangen. Ik ken AutoIt en Snapshot niet, maar als het gewoon een command prompt is kun je mischien gewoon de Standard Output afvangen
http://www.autoitscript.com/forum/index.php?showtopic=83618

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 11:45
waztone schreef op woensdag 08 april 2009 @ 15:04:
Kort gezegd dus;
Hoe kan ik in AutoIT programma's starten vanaf de cmd-prompt met variabelen?
AutoIT ken ik verder niet, maar gebruik zelf nog wel eens WizApp om batchfiles met GUI te maken.

Acties:
  • 0 Henk 'm!

  • waztone
  • Registratie: November 2001
  • Laatst online: 26-06 05:42

waztone

de enige echte

Topicstarter
Als ik nu deze code gebruik, krijg ik wel een dos venster te zien (door het gebruik van @SW_SHOW) waar in de titelbalk netjes een percentage verschijnt, en in het venster zelf niets.

C:
1
Local $proces = Run(@ComSpec & " /c snapshot I: "& $loc & "Basic.sna", @WorkingDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)


Als ik echter StdoutRead($proces) gebruik om iets van waardes af te lezen krijg ik niets te zien als ik dit in een label, voortgangsbalk of msgbox gebruik.
Hoe kan ik de waarde van de titelbalk van het commandovenster afvangen?

[ Voor 79% gewijzigd door waztone op 09-04-2009 17:02 . Reden: tekst veranderd ]

All is fair in God of War


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
waztone schreef op donderdag 09 april 2009 @ 17:01:
Hoe kan ik de waarde van de titelbalk van het commandovenster afvangen?
Ik zei in mijn post ook expliciet dat het werkt als het een console programma is. Je leest namenlijk gewoon de StdOut, en de titelbalk van een window is natuurlijk niet de StdOut.

Je kunt de title van een window opvragen door de volgede API call http://msdn.microsoft.com/en-us/library/ms633520(VS.85).aspx

Hoe dat dan weer in AutoIT moet zou ik niet weten.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • bulle bas
  • Registratie: Juli 2006
  • Niet online
waztone schreef op donderdag 09 april 2009 @ 17:01:
Hoe kan ik de waarde van de titelbalk van het commandovenster afvangen?
Ik heb nooit met autoit gewerkt, maar het moet niet moeilijk zijn:

hier vind je methoden om venstertitels uit te lezen.

http://www.autoitscript.c...functions/WinGetTitle.htm

PHP:
1
2
$title = WinGetTitle("Untitled -", "")
MsgBox(0, "Full title read was:", $title)


Dit zal een venster titel pakken waarin Untitled - voorkomt.

De manier van "matchen" kan je instellen met

PHP:
1
Opt("WinTitleMatchMode", 1)     ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase


(no 4 is regex)
http://www.autoitscript.c...intro/windowsadvanced.htm

// codevoorbeelden zijn geen php, maar syntax komt overeen.

Acties:
  • 0 Henk 'm!

  • waztone
  • Registratie: November 2001
  • Laatst online: 26-06 05:42

waztone

de enige echte

Topicstarter
Woy schreef op vrijdag 10 april 2009 @ 09:22:
[...]
Ik zei in mijn post ook expliciet dat het werkt als het een console programma is. Je leest namenlijk gewoon de StdOut, en de titelbalk van een window is natuurlijk niet de StdOut.
Nee, precies, dat snap ik. Als ik het in DOS commando uitvoer, krijg je wel gewoon output te zien, maar met dat console commando, krijg je het dus alleen in de titelbalk te zien. In ieder geval, wel bedankt, ik heb er wel wat aan!

All is fair in God of War


Acties:
  • 0 Henk 'm!

  • waztone
  • Registratie: November 2001
  • Laatst online: 26-06 05:42

waztone

de enige echte

Topicstarter
bulle bas schreef op vrijdag 10 april 2009 @ 17:12:
[...]

Ik heb nooit met autoit gewerkt, maar het moet niet moeilijk zijn:

hier vind je methoden om venstertitels uit te lezen.

http://www.autoitscript.c...functions/WinGetTitle.htm

PHP:
1
2
$title = WinGetTitle("Untitled -", "")
MsgBox(0, "Full title read was:", $title)


Dit zal een venster titel pakken waarin Untitled - voorkomt.

De manier van "matchen" kan je instellen met

PHP:
1
Opt("WinTitleMatchMode", 1)     ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase


(no 4 is regex)
http://www.autoitscript.c...intro/windowsadvanced.htm

// codevoorbeelden zijn geen php, maar syntax komt overeen.
En dit zal ik van het weekend ook es proberen. Thnx!!
Dit gaat helemaal goed komen...ik voel het aan m'n water!

All is fair in God of War


Acties:
  • 0 Henk 'm!

  • bulle bas
  • Registratie: Juli 2006
  • Niet online
Laat ons maar weten of het gelukt is. :)
Pagina: 1