Seite 1 von 1

Makro per Symbol starten

Verfasst: So Jun 06, 2010 6:03 pm
von Silas
Hallo Sebastian,

ist es möglich ein Makro per Symbol in der Symbolleiste zu starten?
Per Ablaufplan funktioniert es zwar, aber beim laden eines neuen Ablaufplans sind die Makros wieder weg.

Grüße, Silas

Verfasst: Mo Jun 07, 2010 10:10 am
von Sebastian
Das ist geplant.

Verfasst: Mo Jun 07, 2010 7:45 pm
von Soeren
@Silas: Was machst Du mit Makros in SB?

Verfasst: Mo Jun 07, 2010 8:58 pm
von Silas
@Soeren: Im Moment sind es zwei Makros die ich gerne aus Songbeamer heraus steuern würde.
Das eine Makro gibt einem die Möglichkeit die Touchfunktion des Bildschirms zu aktivieren und zu deaktivieren,
und das andere steuert unseren Beamer mit folgenden Funktionen im Moment: Einschalten, Ausschalten, Eingang 1 und Eingang 2.

Verfasst: Di Jun 08, 2010 8:59 am
von Soeren
Wie realisierst Du die Beamersteuerung...RS232...LAN??

Verfasst: Di Jun 08, 2010 11:07 am
von Silas
Die Beamersteuerung wir über LAN realisiert, dann ein Makro das Telnet fernsteuert.

Verfasst: Di Jun 08, 2010 9:31 pm
von Jimmy
Hallo Silas,

wie sieht denn das Makro aus, zur Beamersteuerung über LAN? Bei uns läuft das etwas umständlich über den IE.

Gruß

Christian

Verfasst: Mi Jun 09, 2010 9:23 pm
von Silas
Hallo Christian,

das Makro wurde mit AutoitV3 geschrieben, es ist natürlich auf unseren Beamer zugeschnitten, aber vielleicht kannst du damit was anfangen.

Code: Alles auswählen

#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>


; GUI
GuiCreate&#40;"Beamersteuerung",275, 180, 500, 15, $WS_BORDER&#41;
$sIcon = @ScriptDir & "\BossPrefs.ico"
GuiSetIcon&#40;$sIcon&#41;

; BUTTON
$beamerOn = GuiCtrlCreateButton&#40;"AN &#40;Beamer&#41;", 10, 10, 90, 30&#41;
$beamerOff = GuiCtrlCreateButton&#40;"! AUS ! &#40;Beamer&#41;", 170, 10, 90, 30&#41; 
$computer1 = GuiCtrlCreateButton&#40;"PC-Technik", 10, 70, 120, 50&#41;
$computer2 = GuiCtrlCreateButton&#40;"PC-Podium", 140, 70, 120, 50&#41;
$exitbutton = GuiCtrlCreateButton&#40;"X", 250, 140, 10, 10&#41;

GUISetState&#40;@SW_SHOW&#41;

$IP = "192.168.2.111"
$port = "10000"

While 1
  $msg = GUIGetMsg&#40;&#41;
  Select
  Case $msg = $computer1
		Run&#40;@ScriptDir & "\telnet.exe " & $IP & " " & $port, "", @SW_HIDE&#41; ; aktivieren
		Sleep&#40;1000&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "&#123;ENTER&#125;"&#41;
		Sleep&#40;500&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "C05&#123;ENTER&#125;"&#41;
		sleep&#40;500&#41;
		ProcessClose&#40;"telnet.exe"&#41;
		$PID = ProcessExists&#40;"telnet.exe"&#41; ; Will return the PID or 0 if the process isn't found.
		If $PID Then ProcessClose&#40;$PID&#41;
    Case $msg = $computer2
		Run&#40;@ScriptDir & "\telnet.exe " & $IP & " " & $port, "", @SW_HIDE&#41; ; aktivieren
		Sleep&#40;1000&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "&#123;ENTER&#125;"&#41;
		Sleep&#40;500&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "C06&#123;ENTER&#125;"&#41;
		sleep&#40;500&#41;
		ProcessClose&#40;"telnet.exe"&#41;
		$PID = ProcessExists&#40;"telnet.exe"&#41; ; Will return the PID or 0 if the process isn't found.
		If $PID Then ProcessClose&#40;$PID&#41;
    Case $msg = $beamerOn
		Run&#40;@ScriptDir & "\telnet.exe " & $IP & " " & $port, "", @SW_HIDE&#41; ; aktivieren
		Sleep&#40;1000&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "&#123;ENTER&#125;"&#41;
		Sleep&#40;500&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "C00&#123;ENTER&#125;"&#41;
		sleep&#40;500&#41;
		ProcessClose&#40;"telnet.exe"&#41;
		$PID = ProcessExists&#40;"telnet.exe"&#41; ; Will return the PID or 0 if the process isn't found.
		If $PID Then ProcessClose&#40;$PID&#41;	
    Case $msg = $beamerOff
		Run&#40;@ScriptDir & "\telnet.exe " & $IP & " " & $port, "", @SW_HIDE&#41; ; aktivieren
		Sleep&#40;1000&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "&#123;ENTER&#125;"&#41;
		Sleep&#40;500&#41;
		controlSend&#40;"&#91;CLASS&#58;ConsoleWindowClass&#93;", "", "", "C02&#123;ENTER&#125;"&#41;
		sleep&#40;500&#41;
		ProcessClose&#40;"telnet.exe"&#41;
		$PID = ProcessExists&#40;"telnet.exe"&#41; ; Will return the PID or 0 if the process isn't found.
		If $PID Then ProcessClose&#40;$PID&#41;				
	Case $msg = $exitbutton
		ExitLoop
  EndSelect
WEnd