Thomas Barghahn schrieb:
> *Wolfgang Bauer* meinte:
>
>> über hpg.
>
> Immer noch HPG? ;-) Funktioniert denn der Sound schon?
> Unter anderem ist ja auch daran vor zwei Jahren alles gescheitert. Wobei
> das aber doch "hinzubekommen" sein muss.
>
> Thomas 😷
Ja, hpg-sound.hsc funktioniert. Nur Du fehlst mir da noch.
#!hs2
#ggf. Namen der Sounddateien und FQDN (als RegEx-Suchausdruck) anpassen
VarSet($FQDN_AUSDRUCK,"wolfgang\-bauer\.at")
VarSet($SND_DIREKT,"D:\Programme\HPG\hpg25\dir-antwort.wav")
VarSet($SND_EIGENES,"D:\Programme\HPG\hpg25\eigenesposting.wav")
VarSet($SND_INDIREKT,"D:\Programme\HPG\hpg25\indirekte-antwort.wav")
#ab hier nichts mehr anpassen
Var($MsgId,$References)
if (ParamCount<>3)
warning("Skript nicht per Action gestartet, Abbruch")
quit
endif
$MsgId = MsgGetHeader(ParamStr(3),"Message-Id")
$References = MsgGetheader(ParamStr(3),"References")
#folgende Zeilen zu Debug-Zwecken evtl. Ent-Kommentieren
#print("Message-Id: " + $MsgId)
#print("References: " + $References)
#Wenn die beiden quit-Befehle nach den SpieleWaveDatei-Aufrufen auskommentiert sind,
#spielt der Hamster ggf. alle beide Klänge nacheinander ab
if (re_match($MsgId,$FQDN_AUSDRUCK + ">"))
SpieleWaveDatei($SND_EIGENES)
quit
endif
if (re_match($References,$FQDN_AUSDRUCK + ">$"))
SpieleWaveDatei($SND_DIREKT)
quit
endif
if (re_match($References,$FQDN_AUSDRUCK+">\s*<"))
SpieleWaveDatei($SND_INDIREKT)
quit
endif
quit
Sub SpieleWaveDatei($Dateiname)
var($handle)
if (! FileExists($Dateiname))
warning("Datei nicht gefunden: <" + $Dateiname + ">")
return
EndIf
$handle = DllLoad("winmm.dll")
if ($handle = 0)
Warning("Fehler beim Laden der DLL: " + DllLastError())
return
endif
varset( $lpAddr, MemAlloc( len($Dateiname)+1 ) )
MemSetStr( $lpAddr, $Dateiname )
DllCall( "winmm.dll|PlaySoundA|n|nnn", $lpAddr,0,0 )
MemFree( $lpAddr )
DllFree($handle)
EndSub
Freundliche Grüße
Wolfgang
--
Ich bin nicht dumm, ich hab nur Pech beim Denken.