Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Eingabe an inaktives Programm senden


  • Please log in to reply
19 replies to this topic
Robbe
  • Members
  • 11 posts
  • Last active: Sep 21 2014 06:21 PM
  • Joined: 20 Mar 2014

Ein kleines Dankeschön hab ich noch online:

 

ein gratis Lied unserer aktuellen CD:
http://www.play.loophead.de/

 

Bilder der letzten Veranstaltung (gestern), auf der das Script den Präsentations Laptop gesteuert hat:

http://www.loophead.de/

Für alle, die mehr über das Duo wissen möchten:

http://www.info.loophead.de/

 

Und da ich jetzt AHK begeistert bin hab ich schon wieder weitergebastelt.

Es ist in PP möglicheine Folie direkt anzuwählen, in dem man bei gestarteter Präsentation die Foliennummer und Enter eingibt.

Jetzt will ich das für wiederkehrende Szenen nutzen.

Problem dabei: wenn ich F5 sende (Start aus erster Folie - die ist schwarz und leer) wird das Lichtprogramm angesprochen.

Zudem will ich es auf die Ziffern der Tastatur legen (1=Szene 1 = Begrüßung) legen, die ich ja auch zum anwählen der Folien in PP brauche.
 

Kann ich die Eingaben direkt an PP senden?
Bzw. so senden, das sie nicht von AHK nochmal verarbeitet wird.



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Um das zu bewerkstelligen, musst du auf andere Möglichkeiten zurückgreifen (COM):

3::
ppt := ComObjActive("PowerPoint.Application")
ppt.ActivePresentation.SlideShowSettings.Run ; Startet die Bildschirmpräsentation
ppt.SlideShowWindows(1).View.GotoSlide(3) ; Springt zur Folie 3
Return

Die hier angebotene AHK-Version (v1.0.48.05) wird dafür nicht mehr ausreichen. Die neueste Version findest du auf http://ahkscript.org/download/ (sofern du sie nicht schon hast).



Robbe
  • Members
  • 11 posts
  • Last active: Sep 21 2014 06:21 PM
  • Joined: 20 Mar 2014

Beim ersten Test hat es sehr gut funktioniert, aber es kommt nicht mit der Referentenansicht von PP klar - da greift das script ins leere bzw. stratet sie nicht.

Eine funktionierende Variante (die ich als Laie auch noch durchschauen kann) ist auch diese:

; ---- ---- PowerPoint: Szene 1---- ----
q::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,3{Enter}
Return

Jedoch habe ich da das Problem, das ich F5 und die Zahlen nicht mit Hotkeys belegen kann, was sicher geht aber nicht elegant & Betriebssicher ist.

Kann AHK Daten Eingaben so senden, das es sie selbst nicht nochmal als input nimmt?

Edit:

 

ich habe hier gerade gelesen, das man mit deiner Methode auch zielgruppenorientierte Präsentationen starten kann.
http://msdn.microsof...office.15).aspx

Das währe natürlich gigantisch, denn damit währe auch mein anderes Problem eine Präsentation nach beliebigen, vorher definierten Folien zu beenden gleich mit erledigt.



Robbe
  • Members
  • 11 posts
  • Last active: Sep 21 2014 06:21 PM
  • Joined: 20 Mar 2014

Ich glaube ich habe gefunbden, was ich gesucht habe : $ :D
 

; ---- ---- PowerPoint: Start Szene 1---- ----
$1::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,2{Enter}
Return



; ---- ---- PowerPoint: Start Szene 2---- ----
$2::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,6{Enter}
Return



; ---- ---- PowerPoint: Start Szene 3---- ----
$3::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,8{Enter}
Return



; ---- ---- PowerPoint: Start Szene 4---- ----
$4::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,15{Enter}
Return



; ---- ---- DASLIGHT: Lichtszene 1---- ----
$F5::ControlSend , ,1, DASLIGHT VIRTUAL CONTROLLER



; ---- ---- DASLIGHT: Lichtszene 2---- ----
$F6::ControlSend , ,2, DASLIGHT VIRTUAL CONTROLLER



; ---- ---- DASLIGHT: Lichtszene 3---- ----
$F7::ControlSend , ,3, DASLIGHT VIRTUAL CONTROLLER



; ---- ---- DASLIGHT: Lichtszene 4 (Black out)---- ----
$F8::ControlSend , ,4, DASLIGHT VIRTUAL CONTROLLER

Auch bei Winamp bin ich weiter gekommen - nicht wirklich Elegant, aber funktional.
Diese Taste spielt die Pausenmusik ab Titel 10 ab:

; ---- ---- Winamp: Start Pausenmusik---- ----
F9::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, ^ybbbbbbbbbx
return

Ich glaube langsam sollte der Threat Titel geändert werden - die Sache geht deutlich weiter, als der ursprüngliche Lichtszenen Gedanke.


 



Robbe
  • Members
  • 11 posts
  • Last active: Sep 21 2014 06:21 PM
  • Joined: 20 Mar 2014

Nochmal ich selbst -

 

Das Problem mit PP beenden konnte ich auf eine leider wenig elegante Weise umgehen.

-> Ein schwarzes Objekt über die ganze Folie in der Präsentation und ein AHK-Maus befehl,
der den Cursor bei Präsentationsstart an den entsprechenden Bereich in der Referentenansicht fährt.
Dafür währe eine schönere Lösung sicher angesagt z.B. - die Option mit der zielgruppenorientierte Präsentation,
die ich aber mit meinen bescheidenen Kenntnissen nicht gestartet bekomme.

Hier das komplette Script:

#SingleInstance, force
SetKeyDelay,, 100 ; <- Druckdauer
SetTitleMatchMode, 2










; ---- ---- PowerPoint: Start ---- ----
F1::
WinActivate, Microsoft PowerPoint
Send, +{F5}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Stopp ---- ----
F2::
WinActivate, PowerPoint-Referentenansicht
Send, {Escape}
Return



; ---- ---- PowerPoint: Referent - zurück ---- ----
Left::
WinActivate, PowerPoint-Referentenansicht
Send, {Left}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Referent - vor ---- ----
Right::
WinActivate, PowerPoint-Referentenansicht
Send, {Right}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: eine Folie - höher ---- ----
Up::
WinActivate, Microsoft PowerPoint
Send, {Up}
Return



; ---- ---- PowerPoint: eine Folie - tiefer ---- ----
Down::
WinActivate, Microsoft PowerPoint
Send, {Down}
Return










; ---- ---- PowerPoint: Start Szene 1 ---- ----
$1::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,2{Enter}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Start Szene 2 ---- ----
$2::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,6{Enter}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Start Szene 3 ---- ----
$3::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,10{Enter}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Start Szene 4 ---- ----
$4::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,8{Enter}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Start Szene 5 ---- ----
$5::
WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,15{Enter}
MouseMove, 100, 100, 20
Return



; ---- ---- PowerPoint: Start Szene 6 (Kombinierte PP/Tonszene) ---- ----
$6::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbb

WinActivate, Microsoft PowerPoint
Send, {F5}
WinActivate, PowerPoint-Referentenansicht
Send,37{Enter}

DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, x^v
MouseMove, 100, 100, 20
Return










; ---- ---- DASLIGHT: Lichtszene 1 (Automatik) ---- ----
$F5::ControlSend , ,1, DASLIGHT VIRTUAL CONTROLLER



; ---- ---- DASLIGHT: Lichtszene 2 (Blau) ---- ----
$F6::ControlSend , ,2, DASLIGHT VIRTUAL CONTROLLER



; ---- ---- DASLIGHT: Lichtszene 3 (Irland) ---- ----
$F7::ControlSend , ,3, DASLIGHT VIRTUAL CONTROLLER



; ---- ---- DASLIGHT: Lichtszene 4 (Black out) ---- ----
$F8::ControlSend , ,4, DASLIGHT VIRTUAL CONTROLLER










; ---- ---- Winamp: Start Playback 1 ---- ----
q::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybx^v
return



; ---- ---- Winamp: Start Playback 2 ---- ----
w::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbx^v
return



; ---- ---- Winamp: Start Playback 3 ---- ----
e::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbbx^v
return



; ---- ---- Winamp: Start Playback 4 ---- ----
r::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbbbx^v
return



; ---- ---- Winamp: Start Playback 5 ---- ----
t::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbbbbx^v
return



; ---- ---- Winamp: Start Playback 6 ---- ----
z::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbbbbbx^v
return



; ---- ---- Winamp: Start Playback 7 ---- ----
u::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbbbbbbx^v
return










; ---- ---- Winamp: Start ---- ----
F9::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, x
return



; ---- ---- Winamp: Start Pausenmusik ---- ----
F10::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v^ybbbbbbbbbx
return



; ---- ---- Winamp: Start - nur ein Titel ---- ----
F11::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, x^v
return



; ---- ---- Winamp: Stop ---- ----
F12::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, v
return



; ---- ---- Winamp: vorheriger Titel ---- ----
PgUp::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, vy
return



; ---- ---- Winamp: nächster Titel ---- ----
PgDn::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, vb
return



; ---- ---- Winamp: Start - nur ein Titel (Alternative Belegung) ---- ----
Space::
DetectHiddenWindows, On ; Tells AHK to search for windows that are minimized/hidden

Target := "ahk_class Winamp v1.x"
IfWinNotExist %Target%
{
Return
}
ControlSend, ahk_parent, x^v
return