Page Index Toggle Pages: 1 Send TopicPrint
Hot Topic (More than 10 Replies) AutoIt-Extensions für Phoner (Read 14668 times)
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
AutoIt-Extensions für Phoner
28. Sep 2007 at 14:04
Print Post  
Hallo Forum,

durch diesen Thread bin ich - ein Dankeschön an fakeraol - auf die Programmiersprache AutoIt aufmerksam geworden. Ich habe ein wenig dazu im Internet gegraben, und siehe da: AutoIt hat sich zu einer netten und leicht erlernbaren Programmiersprache gemausert, für die es unendlich viele Code-Beispiele gibt.

AutoIt bietet eine einfach zu erlernende Syntax in BASIC-Art, mit dem man zunächst einmal Scripte erstellen kann. Mit diesen Scripten kann man nun so ziemlich alles machen, selbst eigene GUI's lassen sich einfach erstellen. AutoIt bietet Funktionen zum Zugriff auf COM- und Active-X-Elemente sowie verschiedene Zugriffsmethoden für verschiedene Dateitypen bzw. DLL's. Und - so wie es das bisher verstanden habe - kann man seine DLL's (etwa C++, Delphi etc.), Icons etc. leicht zusammen mit dem Script - dem eigentlichen späteren Programm - kompilieren.

Der Kompilationsvorgang ist einfach: Man schreibt das, was das Programm können soll, mit einem beliebigen Texteditor in ein Script (Funktionen, Variablen etc. also das übliche), entwirft dann im gleichen Script die GUI (wenn man eine braucht), importiert mit der Include-Funktion andere Scripte mit vordefinierten Funktionen (von denen es bereits unendlich viele gibt, UDF genannt), und kompiliert dieses zu einer Exe-Datei.

Diese Exe-Datei kann (ohne zusätzliche Runtime-Bibliotheken!) dann ausgeführt werden, ja, selbst die Übergabe von bis zu 63 (!) Parametern ist möglich - diese werden im Script einfach notiert, und ihnen dann jeweils Funktionen zugewiesen.

Langer Vorrede kurzer Sinn:

AutoIt bietet mittlerweile tatsächlich mächtige Werkzeuge zum Programmieren - ist jedoch selber klein (die Suite umfasst gerade einmal etwas von 5 MB), und lässt sich jederzeit durch eigene Bibliotheken (AutoIt-Scripte mit eigenen Funktionen) erweitern. AutoIt ist Freeware.

An dieser Stelle möchte ich anregen, einmal folgendes zu überlegen:

Phoner ist ein eigenständiges Programm mit vielen Möglichkeiten, es zu steuern und die Ausgaben für eigene Zwecke weiter zu verwenden (siehe dieser Workshop, die Addons von der Phoner-Downloadseite oder die Tools, die JB für Phoner unter JB-Programme zur Verfügung stellt).

Immer wieder werden im  Vorschlagsforum jedoch Vorschläge gemacht, deren Umsetzung in Phoner nicht unbedingt sinnvoll erscheinen. Lösungen für solche Vorschläge könnten mit Addon-Programmen ebenso gut erledigt werden, die mit Phoner und seinen Möglichkeiten "zusammenarbeiten".

Mit solchen Ergänzungen - und mit den bereits veröffentlichten Tools - könnte Phoner sogar zu einer netten Suite werden. Der Vorteil jedoch bezieht sich ausdrücklich auf AutoIt: Es ist so einfach zu erlernen und wesentlich unkomplizierter als alles, was ich kenne, so dass es möglich ist, diese Addons als OpenSource zu entwickeln.

Wer Ideen zu solchen AddOns hat, oder Erfahrung bei AutoIt-Scripten hat, kann gerne diesen Thread weiter fortführen Wink.

Ich warte auf jede Anregung.

Viele Grüße vom Kai
  
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #1 - 30. Sep 2007 at 18:56
Print Post  
Um einmal zu demonstrieren, welche Möglichkeiten AutoIt bietet, führe ich den Thread mit einem "kleinen" Script weiter.

Sinn und Zweck dieses Scriptes ist es, mit einem Umweg (zur Demonstration der Manipulationsmöglichkeiten von AutoIt) über die Ausgabe in ein Notepad-Fenster

a) alle laufenden Prozesse und Prozess-ID's aufzulisten, und
b) laufende Phoner-Instanzen und deren PID's separat aufzulisten.

Ist Phoner nicht gestartet, wir der Anwender gefragt, ob Phoner gestartet werden soll.

Erläuterungen und Kommentare zu diesem Script finden sich am Ende. Das kompilierte AutoIT-Executable ist diesem Tutorial als Dateianhang beigefügt.

Das Script:

Code
Select All
$ProcessNameArray = ProcessList()
$IfPhonerExists = ProcessList("phoner.exe")
$PhonerProcessExists = "0"

Dim $ExitMessage

Run("notepad.exe")
WinWaitActive("Unbenannt - Editor")
Send("Liste der aktiven Prozesse: {ENTER}{ENTER}")

For $ProcessCounter = 1 to $ProcessNameArray[0][0]
  PhonerProcessProof()
next

If $PhonerProcessExists = "1" Then
OnPhonerExistsProof()
Else
Send("{ENTER}")
Send("--------------------------------------------------{ENTER}")
Send("Kein laufender Phoner-Prozess identifiziert. {ENTER}")
Send("--------------------------------------------------{ENTER}")
StartPhonerOrNot()
EndIf

; ------------------------------------------------------------------------
; Ab hier werden die Funktionen definiert, die vorstehend aufgrufen werden
; ------------------------------------------------------------------------

Func PhonerProcessProof()
If $ProcessNameArray[$ProcessCounter][0] = "phoner.exe" Then
$PhonerProcessExists = "1"
Else
Send("PID: " & $ProcessNameArray[$ProcessCounter][1] & " " & $ProcessNameArray[$ProcessCounter][0] & "{ENTER}")
EndIf
EndFunc

Func OnPhonerExistsProof()
Send("{ENTER}")
Send("--------------------------------------------------{ENTER}")
Send("Identifizierte Phoner-Prozesse:{ENTER}")
Send("--------------------------------------------------{ENTER}")
For $ProcessCounter = 1 to $IfPhonerExists[0][0]
Send("PID: " & $IfPhonerExists[$ProcessCounter][1] & " " & $IfPhonerExists[$ProcessCounter][0] & "{ENTER}")
next
EndFunc

Func StartPhonerOrNot()
$ask = MsgBox(32+4,"Phoner wurde nicht gestartet!","Soll eine Instanz von Phoner gestartet werden?")
If $ask = 6 Then
RunOpenDialog()
ElseIf $ask = 7 Then
$ExitMessage = "Phoner sollte nicht gestartet werden."
GotoExit()
EndIf
Endfunc

Func RunOpenDialog()
$AskForFile = "Bitte das Programmverzeichnis von Phoner auswählen!"
$OpenFile = FileOpenDialog($AskForFile, "C:\Programme\", "Ausführbare Dateien (*.exe)", 1 + 2, "phoner.exe")
If @error Then
$ExitMessage = "Der Vorgang wurde abgebrochen."
GotoExit()
Else
Run($OpenFile)
$ExitMessage = "Phoner wurde gestartet."
WinWaitActive("Phoner")
GotoExit()
EndIf
EndFunc

Func GotoExit()
$exit = MsgBox(0,"Abbruch",$ExitMessage & @CRLF & "Das Beispielprogramm wird beendet.")
EndFunc
 



Erläuterungen:

In den Zeilen 1 - 5 werden Variablen ($[Name]) für die spätere Verwendung definiert. Die Dim-Anweisung in Zeile 5 ist eine Besonderheit, da somit die entsprechende Variable deklariert, jedoch vorerst noch keinen Wert zugewiesen erhält.

In den Zeilen 7-9 soll

a) Das Programm "notepad.exe" gestartet werden,
b) gewartet werden, bis das notepad-Fenster aktiv ist,
c) und dem Notepad-Fenster per "Send" die erste Textzeile geschickt werden.

Hierin zeigt sich eine der AutoIt-Stärken: Die Manipulation aktiver Programm-Fenster. Doch hierzu soll mehr im Laufe des weiteren Tutorials geschrieben werden.

In den Zeilen 11-13 wird ein Counter gesetzt - für jeden gezählten, laufenden Prozess soll die Funktion  PhonerProcessProof() aufgerufen werden, in der weitere Anweisungen aufgeführt sind. Sämtliche Funktionen sind am Ende des Scriptes definiert.

Die Zeile 15-23 werten das Ergebnis (Inhalt der Variable $PhonerProcessExists) aus - ist ein Phoner-Prozess also aktiv (="1"), dann wird die Funktion "OnPhonerExistsProof()" ausgeführt, die eine Überprüfung aller laufenden "phoner.exe"-Prozesse vornimmt, und diese am Ende der Liste (siehe Notepad-Fenster) ausgibt. Danach wird das Script beendet.

Ist kein Phoner-Prozess aktiv, wird nach einer entsprechenden Ausgabe im Notepad-Fenster die Funktion "StartPhonerOrNot()" ausgeführt.

In den Zeilen 29-73 werden die Funktionen definiert, die im Abschnitt vorher mit "Funktionsname()" an den entsprechenden Stellen ausgeführt werden sollen.

Grundsätzlich enthält dieses Script drei Typen von Anweisungen:

$Variablen - enthalten Werte (numerisch oder alphanumerisch). Variablen können auch Funktionen und deren Parameter enthalten, die beim nächsten Aufruf der Variable gestartet werden.

Funktionen() - enthalten Anweisungen, die ausgeführt werden, wenn die Funktion im Script aufgerufen wird. Funktionen können vom Benutzer selber (z. B. StartPhonerOrNot(), RunOpenDialog(), Definiert in einem Func - EndFunc-Block) definiert werden, oder es werden Funktionen, die im Umfang der Programmiersprache enthalten sind, angesprochen (z. B. ProcessList(), MsgBox(...), etc.).

Bedingungen - Schleifen, Wenn-Dann-Sonst-Konstrukte und ähnliches.

Die Namen für Variablen und Funktionen sollten selbsterklärend sein. Rückfragen hierzu könnt Ihr jedoch gerne in diesem Thread stellen. Bitte zitiert dann die entsprechende Stelle des Codes.

Da die Prüfung, ob ein Phoner-Prozess existiert oder nicht, im weiteren wesentlich für eine nette Suite "um Heikos Programm herum" ist, leite ich das AutoIt-Phoner-Extension-Tutorial damit "feierlich" ein, und bin gespannt auf Eure Ideen.

Viele Grüße vom Kai
  

ExistPhonerProcess_001.zip ( 276 KB | Downloads )
Back to top
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #2 - 01. Oct 2007 at 15:16
Print Post  
Auf vielfachen Wunsch hier noch einmal das komplett auskommentierte Script (s. o.) in einer etwas strafferen Form, damit auch Scripting-Anfänger sich dazu hinreißen lassen können, eventuell mitzuwirken Wink

Code
Select All
#NoTrayIcon						     ; Anweisung für den AutoIt-Compiler:
								    ; Während des Programm läuft, soll kein
								    ; Icon im Systemtray ausgegeben werden

$ProcessNameArray = ProcessList()			 ; Die Variable $ProcessNameArray
								    ; enthält die Funktion ProcessList()

$IfPhonerExists = ProcessList("phoner.exe")	   ; Die Variable $IfPhonerExists enthält
								    ; die Funktion ProcessList("phoner.exe")
								    ; Diese Funktionen werden jeweils ausgelöst,
								    ; wenn die Variablen angesprochen werden

$PhonerProcessExists = "0"				  ; Bevor bekannt ist, ob eine Instanz der
								    ; phoner.exe aktiv ist, ist der Inhalt der
								    ; Variable $PhonerProcessExists "0"

Run("notepad.exe")					    ; Um die Ausgaben verfolgen zu können, wird
								    ; der Texteditor "notepad.exe" gestartet

WinWaitActive("Unbenannt - Editor")		     ; Dieses Script soll warten, bis das Fenster
								    ; von "notepad.exe" aktiv ist

Send("Liste der aktiven Prozesse: {ENTER}{ENTER}")  ; Bevor nach einem Phoner-Prozess gesucht
								    ; wird, wird an das aktive Fenster dieser
								    ; Text gesendet

For $ProcessCounter = 1 to $ProcessNameArray[0][0]  ; Ein Zähler wird initiiert. Die Variable
								    ; $ProcessNameArray löst die Funktion
								    ; ProcessList() aus, die zwei Werte ausgibt:
								    ; [Prozess] und [PID]. Diese Werte werden
								    ; als "Array" (Variable mit mehreren Werten)
								    ; ausgegeben. Diese Anweisung bedeutet:
								    ; Beginne mit dem Zählen bei "1". "1" ist der
								    ; erste laufende Prozess. Beende das Zählen
								    ; wenn alle laufenden Prozesse gezählt wurden
								    ; und führe die nachfolgenden Anweisungen aus

    PhonerProcessProof("phoner.exe")		    ; Die Funktion PhonerProcessProof() wird, da
								    ; innerhalb der Zähl-Schleife notiert, für
								    ; jeden gezählten Prozess aufgerufen
								    ; Gleichzeitig wird der Funktion ein String
								    ; übergeben ("phoner.exe"), der durch diese
								    ; Funktion "behandelt" werden soll.

next								; Beendet die Zählschleife und initiiert einen
								    ; Sprung zu den nächsten Anweisungen

If $PhonerProcessExists = "1" Then			; Nachdem die Funktion PhonerProcessProof()
								    ; während der Zählschleife geprüft hat, ob
								    ; ein Phoner-Prozess läuft, wird mit dieser
								    ; Anweisung eine WennDann-Prüfung eingeleitet

    OnPhonerExistsProof()				   ; Wenn ein Phoner-Prozess erkannt wurde, dann
								    ; änderte die Funktion PhonerProcessProof()
								    ; den Wert der eingangs deklarierten Variable
								    ; $PhonerProcessExists von "0" auf "1". In
								    ; diesem Fall wird durch die If-Then-Abfrage
								    ; die Funktion OnPhonerExitstProof() ausgelöst

Else								; anderenfalls wird der nachfolgende Text an
								    ; das aktive Notepad-Fenster gesendet, und

    Send("{ENTER}" & _
    "--------------------------------------------------" & _
    "{ENTER}" & _
    "Kein laufender Phoner-Prozess identifiziert." & _
    "{ENTER}" & _
    "--------------------------------------------------" & _
    "{ENTER}")

								    ; die nachfolgende Funktion StartPhonerOrNot()
								    ; ausgelöst, der gleichzeitig zwei Strings
								    ; übergeben werden (damit erspart man sich,
								    ; in einer eigenen Anweisung den übergebenen
								    ; Text jeweils als Variabeln zu deklarieren)

    StartPhonerOrNot("Phoner wurde bisher nicht gestartet.", "Soll Phoner gestartet werden?")

EndIf							     ; Ende der If-Anweisung

#comments-start
-------------------
Ab hier werden die Funktionen definiert, die vorstehend ausgelöst werden, oder die im nachfolgenden
noch definiert sind. Da die folgenden Anweisungen im wesentlichen denen entsprechen, die bereits
vorstehend kommentiert wurden, wird ab hier lediglich die Funktionsweise jeder Funktion beschrieben
-------------------
 Funktion:	PhonerProcessProof()
 Typ:	     Benutzer-Definierte Funktion
 Beschreibung:  Diese Funktion überprüft, ob während der Abfrage aller laufenden Prozesse
		    mindestens ein "phoner.exe"-Prozess ermittelt werden kann. Falls diese Bedingung
		    erfüllt ist, wird einer vorher mit dem Wert "0" deklarierten Variable
		    $PhonerProcessExists der Wert "1" zugewiesen. Falls diese Bedingung nicht erfüllt
		    ist, erfolgt die Ausgabe einer Textzeile in ein aktives Fenster.
-------------------
#comments-end

Func PhonerProcessProof($Process)
If $ProcessNameArray[$ProcessCounter][0] = $Process Then
    $PhonerProcessExists = "1"
Else
    Send("PID: " & _
    $ProcessNameArray[$ProcessCounter][1] & _
    " " & _
    $ProcessNameArray[$ProcessCounter][0] & _
    "{ENTER}")
EndIf
EndFunc

#cs
-------------------
 Funktion:	OnPhonerExistsProof()
 Typ:	     Benutzer-Definierte Funktion
 Beschreibung:  Diese Funktion sendet einen Text an ein aktives Fenster. Anschliessend wird eine
		    Zählschleife initiiert. Innerhalb der Zählschleife werden für jedes Vorkommen des
		    zu zählenden Elements weitere Textzeilen an ein aktives Fenster gesendet, deren
		    Inhalt teilweise aus Text und dem Inhalt ausgelesener Arrays besteht. Die nächste
		    Anweisung nach der Schleife verweist auf die Funktion GotoExit() und enthält einen
		    String, der an GotoExit() übergeben wird.
-------------------
#ce

Func OnPhonerExistsProof()
Send("{ENTER}" & _
"--------------------------------------------------" & _
"{ENTER}" & _
"Identifizierte Phoner-Prozesse:" & _
"{ENTER}" & _
"--------------------------------------------------" & _
"{ENTER}")
For $ProcessCounter = 1 to $IfPhonerExists[0][0]
    Send("PID: " & _
    $IfPhonerExists[$ProcessCounter][1] & _
    " " & _
    $IfPhonerExists[$ProcessCounter][0] & _
    "{ENTER}")
next
GotoExit("Es ist mindestens eine Phoner-Instanz bereits aktiv.")
EndFunc

#cs
-------------------
 Funktion:	StartPhonerOrNot()
 Typ:	     Benutzer-Definierte Funktion
 Beschreibung:  Diese Funktion deklariert zwei Variabeln, deren Inhalt durch eine andere Anweisung
		    übergeben wurde. Im Anschluss wird eine Benutzerabfrage ausgelöst. Je nach dem
		    Ergebnis dieser Abfrage wird zu der Funktion RunOpenDialog(), oder zu der Funktion
		    GotoExit() verzweigt. Den beiden vorstehend genannten Funktionen wird jeweils ein
		    String übergeben.
-------------------
#ce

Func StartPhonerOrNot($AskForStart, $Text)
$ask = MsgBox(32+4, $AskForStart, $Text)
If $ask = 6 Then
    RunOpenDialog("Bitte das Programmverzeichnis von Phoner auswählen!")
ElseIf $ask = 7 Then
    GotoExit("Phoner sollte auf Benutzerwunsch nicht gestartet werden.")
EndIf
Endfunc

#cs
-------------------
 Funktion:	RunOpenDialog()
 Typ:	     Benutzer-Definierte Funktion
 Beschreibung:  Diese Funktion empfängt einen String, dessen Inhalt der Variable $AskForFile
		    zugewiesen wird. Anschliessend wird ein Datei-Öffnen-Dialog angezeigt. Bei Abbruch
		    dieses Dialogs (If @error...) wird die Funktion GotoExit() aufgerufen, der ein
		    String übergeben wird. Anderenfalls wird eine erfolgreich ausgewählte Datei
		    gestartet. Die Funktion wartet, bis das Fenster der gestarteten Datei aktiv ist,
		    und verzweigt zu der Funktion GotoExit(), der gleichzeitig ein String übergeben
		    wird.
-------------------
#ce

Func RunOpenDialog($AskForFile)
$OpenFile = FileOpenDialog($AskForFile, "C:\Programme\", "Ausführbare Dateien (*.exe)", 1 + 2, "phoner.exe")
If @error Then
    GotoExit("Der Vorgang wurde abgebrochen.")
Else
    Run($OpenFile)
    WinWaitActive("Phoner")
    GotoExit("Phoner wurde gestartet.")
EndIf
EndFunc

#cs
-------------------
 Funktion:	GotoExit()
 Typ:	     Benutzer-Definierte Funktion
 Beschreibung:  Die Funktion GotoExit() deklariert aus einem empfangenen String die Variable
		    $ExitMessage. Anschliessend wird eine Benutzereingabe ausgelöst, nach deren
		    Bestätigung das Programm endet.
-------------------
#ce

Func GotoExit($ExitMessage)
$exit = MsgBox(0,"Abbruch",$ExitMessage & @CRLF & "Das Beispielprogramm wird beendet.")
EndFunc
 



Als nächstes ist geplant, dass dieses Script lernt, Daten für seine Einstellungen in eine ini-Datei zu speichern, und bei Bedarf wieder auszulesen.

Das angehängte ZIP-File enthält jeweils einmal das Script als kommentierte und unkommentierte Fassung sowie das hieraus kompilierte executable.

Viele Grüße vom Kai
  

TutorialV0_0_0_2.zip ( 235 KB | Downloads )
Back to top
IP Logged
 
lubeda
YaBB Newbies
*
Offline


Phoner ist großartig!

Posts: 4
Joined: 22. Oct 2007
Re: AutoIt-Extensions für Phoner
Reply #3 - 22. Oct 2007 at 12:15
Print Post  
Hallo zusammen,
erstmal großes Lob, Phoner ist wirklich ein cooooles Programm!!!

Nun zum Thema:

Autoit kann nicht mit der COM Funktion GetCallInfo($myCall,$status,$direction,$callerid,$calledid) umgehen! Das liegt einmal daran das man Status, Direction etc. als Referenz übergeben müsste. Das kann Autoit zur Zeit nicht! Direction und Status haben im Phoner auch einen speziellen Variablen Typ, damit kann Autoit auch nicht umgehen!

Damit komme ich zu meinem Feature-Wunsch in Verbindung mit Autoit:

z.B. folgende Funktionen in Phoner integrieren: Func GetCallState(CallID);Func GetCallDirection(CallID),Func GetCallCallerID(CallID);Func GetCallCalled(CallID) mit Rückgabewert vom Typ String.



Eine eigene Library für Autoit ist aus meiner Sicht nicht notwendig weil die COM-Schnettstelle von Phoner einfach von Autoit aufgerufen werden kann!

Gruß
Ludger 

Nachtrag, im Anhang ein Autoit Skript das eine SMS versendet. Wenn das Programm kompiliert ist kann man zwei Werte übergeben die in der SMS verschickt werden. Der Rest ist grob kommentiert
« Last Edit: 22. Oct 2007 at 13:36 by lubeda »  

sendsms.zip ( 1 KB | Downloads )
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #4 - 23. Oct 2007 at 13:35
Print Post  
Hallo Ludger,

vielen Dank für Dein Script und auch dafür, dass *flüstermode* endlich jemand diese Möglichkeit aufgreift *flüstermode* ...  Wink

Den Feature-Wunsch habe ich noch einmal gesondert in das Suggestions-Forum gestellt.

Weitere Ideen und Umsetzungen sind wirklich jederzeit willkommen.

Viele Grüße vom Kai
  
Back to top
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11421
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #5 - 23. Oct 2007 at 17:33
Print Post  
Für diese Fälle bietet Phoner bereits folgende Funktionen:
  • GetState()
  • GetDirection()
  • GetCallerID()
  • GetCalledID()
  • GetRecordedWAVE()

Diese Funktionen werden in dem primitivem HTML-Ansatz benutzt.
  
Back to top
WWW  
IP Logged
 
lubeda
YaBB Newbies
*
Offline


Phoner ist großartig!

Posts: 4
Joined: 22. Oct 2007
Re: AutoIt-Extensions für Phoner
Reply #6 - 24. Oct 2007 at 18:54
Print Post  
Quote:
Für diese Fälle bietet Phoner bereits folgende Funktionen:
  • GetState()
  • GetDirection()
  • GetCallerID()
  • GetCalledID()
  • GetRecordedWAVE()



Stimmt, aber Autoit kann in Verbindung mit COM nur klassische Funktionen ($Rückgabewert = $PhonerObject.Getxxx($CallID)), bei den vorhanden Funktionen wird das Ergebniss über die Aufruf-Parameter "zurückgegeben". Diese Schwäche von Autoit soll irgendwann behoben werden. 

@Suppenkasper
Was meints du mit Flüstermode?
  
Back to top
 
IP Logged
 
Phoner Admin
YaBB Administrator
*****
Offline



Posts: 11421
Location: Germany
Joined: 12. Oct 2003
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #7 - 25. Oct 2007 at 06:58
Print Post  
Das Problem sind aber die Strings als Rückgabewert. Das funktioniert wiederum bei mir nicht  Shocked
  
Back to top
WWW  
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #8 - 25. Oct 2007 at 10:11
Print Post  
Moin @ lobeda,

lubeda wrote on 24. Oct 2007 at 18:54:

@Suppenkasper
Was meints du mit Flüstermode?


Bisher hatte ich die Vermutung, dass dieser Thread - obschon es in Anbetracht der ganzen Neuerungswünsche einen großen Bedarf für Phoner-Extensions geben sollte - auf ein gehöriges Maß an Desinteresse stoßen würde. Auf diesen Umstand wollte ich lediglich seeeehr leise hinweisen  Wink .

Viele Grüße vom Kai
  
Back to top
IP Logged
 
lubeda
YaBB Newbies
*
Offline


Phoner ist großartig!

Posts: 4
Joined: 22. Oct 2007
Re: AutoIt-Extensions für Phoner
Reply #9 - 25. Oct 2007 at 13:16
Print Post  
Hallo zusammen,
ich könnte versuchen einen "Wrapper" für Autoit zu schreiben, dann könnten ich aus Autoit VBScript aufrufen und darüber die vorhandenen Phoner Routinen aufrufen. Dann bräuchte man doch eine Autoit Extension damit es für andere Anwendungen nutzbar ist.

Vielleicht klappt es. Dann werde ich die Extension hier veröffentlichen.

  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #10 - 25. Oct 2007 at 14:40
Print Post  
Hallo lubeda,

für Deine Bemühungen (und Ideen) sei Dir herzlich gedankt!

Viele Grüße vom Kai
  
Back to top
IP Logged
 
lubeda
YaBB Newbies
*
Offline


Phoner ist großartig!

Posts: 4
Joined: 22. Oct 2007
Re: AutoIt-Extensions für Phoner
Reply #11 - 29. Oct 2007 at 18:27
Print Post  
Hallo,
das mit dem Wrapper klappt nicht, es gibt Probleme mit den Typen der Variablen. Autoit kommt damit nicht klar.  Cry



  
Back to top
 
IP Logged
 
Suppenkasper
God Member
*****
Offline


Phoner-Support

Posts: 1536
Location: Aachen
Joined: 29. Mar 2005
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #12 - 30. Oct 2007 at 10:17
Print Post  
Hi @ lubeda,

danke dennoch für Deine Bemühungen. Ich habe mich bereits - erst einmal - damit abgefunden, den COM-Bereich von Phoner bis zu einer leistungsfähigeren Revision von AutoIt brach liegen zu lassen, und mich darauf zu beschränken, mein Projekt auf die durch Phoner produzierten CSV-Dateien zu beschränken. Es gibt ja - Heikos Einsatz sei Dank - noch die Möglichkeit, dass Phoner selber ein AutoIt-Kompilat aufruft, und die beiden übergebenen Paramter durch das Executable mit $cmdline ausgewertet werden. Anders herum beherrscht Phoner einige Kommandozeilen-Parameter, die aus der AutoIt-Executable heraus mit comspec genutzt werden können.

Das - und die Möglichkeiten von AutoIt zur GUI-Manipulation - reicht mir erst einmal für ziemlich viele realisierbare Funktionen Wink.

Viele Grüße vom Kai
  
Back to top
IP Logged
 
David.P
YaBB Newbies
*
Offline



Posts: 3
Joined: 24. Nov 2007
Re: AutoIt-Extensions für Phoner
Reply #13 - 24. Nov 2007 at 11:09
Print Post  
Hi,

bin gerade auf diesen Thread gestoßen. Ohne jetzt inhaltlich alles verfolgt zu haben:

Soviel ich weiß (man korrigiere mich), ist es so, dass  AutoIt inzwischen durch AutoHotkey ersetzt bzw. überholt wurde. Jedenfalls habe ich AutoIt vor fast 10 Jahren benutzt, und mache inzwischen alles derartige nur noch mit AutoHotkey. Kann aber auch sein, dass ich diesbezüglich ebenfalls nicht auf dem neusten Stand bin.

Wie auch immer, AutoHotkey halte ich für ein ungeheuer mächtiges Werkzeug und wende es auch bereits dafür an, eine Funktion von Phoner zu realisieren, die ich mir schon vor langer Zeit gewünscht hatte, die aber leider bisher keinen Eingang ins Programm gefunden hat:

Wenn ich mit Phoner telefoniere, dann benötige ich aus bestimmten technischen Gründen andere Einstellungen für die Lautstärke von Mikrophon und Lautsprecher als wenn Phoner nicht aktiv ist. Daher habe ich mir ein AutoHotkey-Skript geschrieben, das die Lautstärken im Windows-Audiomixer verändert, solange das Phoner-Fenster aktiv ist, und die Lautstärken wiederherstellt, sobald Phoner geschlossen wird. Auf diese Weise muss ich nicht jedes Mal zum Telefonieren die Lautstärkeregler in Phoner manuell verstellen.

Grüße David.P
  
Back to top
 
IP Logged
 
fakeraol
YaBB Newbies
*
Offline



Posts: 11
Location: Berlin
Joined: 26. Sep 2007
Gender: Male
Re: AutoIt-Extensions für Phoner
Reply #14 - 11. Dec 2007 at 15:13
Print Post  
@David.P
vergleiche doch einfach autoit und autohotkey. dann brauchst du hier nicht vermutungen wiedergeben, die auf aussagen dritter beruhen. Wink

@Suppenkasper
http://www.forum.phoner.de/YaBB.pl?num=1187454862/8#8
hab dir da noch nen hinweis geschrieben. Smiley
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint