Dann schreib es doch einfach in eine temporäre Datei, die kannst du dann ausführen und hinterher wieder löschen.
Beiträge von BugFix
-
-
Zitat
was muß ich dann noch in AutoIt machen, damit die beim Drücken von F1 auch geöffnet wird und vor allem die richtige Hilfe zur gewünschten Funktion?
Wenn es über die AutoIt-Hilfe laufen soll, mußt du diese vorher mit dem HTML Workshop decompilen, deine eigenen Dateien einfügen, entsprechend indexieren (Aufpassen, dass du nichts zerschießt :P) und dann die Hilfe neu kompilieren. -
AutoIt muß ja die Skriptanweisungen irgendwoher lesen können.
Solange du die Befehle nur in SciTE eintippst, existieren sie ja noch nicht in lesbarer Form. Erst durch das Abspeichern kann das Geschriebene auch wieder gelesen werden.Aber warum die Frage?
Du mußt doch sowieso eine Datei erstellen um die Codezeilen zu schreiben - warum willst du sie nicht speichern ?? *kopf-kratz* -
Flashgame, nicht Mausgesteuert - dann sehe ich hier keine Möglichkeit.
-
Verwende HTML Workshop, ist Free: HTML Download
Falls Du eine Hilfe zur Anwendung brauchst, melde dich nochmal.EDIT
Hier gleich mal die deutsche Anleitung dazu. -
-
Die Ergebnisse der Suche (alles was zwischen öffnender und schließender Klammer ist, aber nicht die Klammern selber, werden in einem Array gespeichert.
[autoit]$Array = _StringBetween($str, '\(', '\)', -1, 1)
[/autoit]
[autoit]
Dieses Array wird jetzt Eintrag für Eintrag durchlaufenFor $i = 0 To UBound($Array) -1
[/autoit]
[autoit]
Jedes Element des Arrays ist ein gefundener Ausdruck zwischen Klammern. Dieser Ausdruck wird jetzt durch einen Leerstring ersetzt.
Dazu werden zum gefundenen Ausdruck jetzt wieder die Klammern angefügt, damit diese mit ersetzt werden.
Vor der öffnenden Klammer wird außerdem ein Lerzeichen mit angefügt (und somit ersetzt), weil sonst 2 Leerzeichen nebeneinander stehen würden, eines das vor und eines das nach dem Klammerausdruck im Text steht.$str = StringReplace($str, ' (' & $Array[$i] & ')', '')
[/autoit]
Next -
Kann dir grad nicht folgen.
Deine per HotKey aufgerufene Funktion kann doch erst dann greifen, wenn momentan dein Programm 'idlet' - also z.B. auf GUI-Msg oder ein Event wartet.
Willst du wissen, welche Msg/Event davor aktiviert war? - Dann schreib doch für jedes Ereignis einen LOG-Eintrag in ein Logfile, das du, um es nicht überlaufen zu lassen, bei jedem Programmstart löschst. -
Auch das ist kein Problem mit der Einbindung von StringRegExp in die Funktion _StringBetween():
[autoit]#include <String.au3>
[/autoit]
$str = 'Als ein Aufklärungsschiff der Predatoren in einem entlegenen Kaff im Gebirgsstaat Colorado abstürzt, ' & _
'steht es schlecht um die Bewohner der kleinen Gemeinde. Sheriff Morales (<a href="/mitwirk.php4?nr=81477&' & _
';channel=kino&PHPSESSID=213a7e60c3cf89359b5a2a1d059c51b2">John Ortiz</a>) muss mit ansehen, wie die an ' & _
'Bord gefangenen Aliens entkommen und alle Predatoren bis auf einen töten. Der schreitet unverdrossen zur Tat, ' & _
'die Brut auszulöschen, bekommt es aber auch mit einem Pred-Alien-Hybriden zu tun. Im Duell der mythischen ' & _
'Kreaturen bangt Dallas (<a href="/mitwirk.php4?nr=211317&channel=kino&PHPSESSID=213a7e60c3cf89359b5a2a1d059c51b2"' & _
'>Steven Pasquale</a>) um sein Leben'
$Array = _StringBetween($str, '\(', '\)', -1, 1)
For $i = 0 To UBound($Array) -1
$str = StringReplace($str, ' (' & $Array[$i] & ')', '')
Next
MsgBox(0, '', $str) -
Das geht ganz einfach mit StringRegExpReplace()
[autoit]$str = 'Ein von Menschenhand entwickeltes Virus löscht die Erdbevölkerung aus. Fieberhaft sucht der exzellente Wissenschaftler Robert Neville (<a href="/mitwirk.php4?nr=78854&channel=kino">Will Smith</a>) nach einem Gegenmittel, '
[/autoit]
$str = StringRegExpReplace($str, '\(.*\)', '') -
Oder einfach nur:
[autoit]InetGet ( "URL" [,"filename" [, reload [, background]]] )
[/autoit] -
@Apollo 13
Das stimmt aber nur für die Programme, die auch einen Uninstall-Eintrag hinterlegen.
Aber ca. 90% kannst du damit abdecken. -
Hi,
ich habe mir ein SIP-Telefon von Linksys, WIP330-EU, zugelegt.
Nur leider bekomme ich das Teil nicht dazu, mit meinem SIP-Provider zu connecten.
Der Support des Herstellers hält sich bedeckt und verweist auf den Händler, welcher sich ebenfalls als nicht zuständig erklärt und auf den Hersteller verweist (Ich liebe die Servicewüste Deutschland *kotz*).
Natürlich könnte ich das Teil jetzt zurückschicken, aber ich will es ja haben.Die Verbindung mit dem WLAN funktioniert tadellos und ist auch einfach zu konfigurieren.
Anders bei den SIP-Einstellungen. Hier werden gleich 3 verschiedene Proxy-IP plus Port abgefragt.
Im Allgemeinen erhält man von seinem Provider einen oder zwei Proxy.
Mein Provider ist 1und1 und der bietet einen sip und einen stun Server.
In der Konfiguration stehen zur Auswahl:
- Proxy
- Register Proxy
- Outbound Proxy
Laut 1und1 ist der sip-Server der Register Proxy. Aber wohin mit dem stun-Server?
Ein weiterer Parameter ist der RTP Port. Ich hab keine Ahnung wozu der dient und welchen Port ich dort eintragen muß (Dank des fabelhaften Supports werde ich es wohl auch nicht erfahren).Falls also irgendjemand mir hier weiterhelfen kann, wäre ich ganz happy :).
EDIT
Also ich kenne inzwischen alle VoIP-Foren im In- und Ausland.
Resultat: Dieses Gerät läßt sich nicht mit meinem SIP-Provider ein.
Ergo tritt es nun doch den Rückweg zum Händler an und ich muß mir doch irgendein dösiges DECT-Telefon zulegen. -
AspirinJunkie
Da hast du natürlich vollkommen recht. Da ich aber die Angst vieler User vor Arrays kenne, habe ich es dieses mal nicht erwähnt.
Aber gerade bei vielen Controls wäre das die bessere Alternative (oder auch ObjectDictionary :P) -
Irgendeine Fehlermeldung?
Übrigens, erspare dir etwas Schreibarbeit :).
Packe die Aktionen bei Case $Button6 in eine Schleife:Spoiler anzeigen
[autoit]; Statt:
[/autoit] [autoit][/autoit] [autoit]
Case $Button6
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox3,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox4,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox5,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox6,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox7,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox8,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox9,$GUI_UNCHECKED)
;......; Besser:
[/autoit]
Case $Button6
For $i = $Checkbox1 To $Checkbox31
GUICtrlSetState($i, $GUI_UNCHECKED)
Next -
Also zum Auslesen von Checkboxen (oder Radio-Button) sollte man doch die AutoIt-Syntax einhalten.
[autoit]If GUICtrlRead($Control) = $GUI_CHECKED / $GUI_UNCHECKED Then
[/autoit]
[autoit]
Eine andere Möglichkeit wäre noch:If BitAnd(GUICtrlRead($Control), $GUI_CHECKED) Then
[/autoit]Diese Variante
[autoit]Case $Button1
[/autoit]
If GuictrlRead($Checkbox1)=1 then Run("Adobe Rader 8.1.exe")
If GuictrlRead($Checkbox2)=1 then Run("AnyDVD.exe")
If GuictrlRead($Checkbox3)=1 then Run("ATI.exe")
If GuictrlRead($Checkbox4)=1 then Run("autoit.exe")
hat den Nachteil, dass bei mehreren angehakten Checkboxen versucht wird die Installationen gleichzeitig zu starten.
Hier sollte RunWait oder ShellExecuteWait verwendet werden, damit alles nacheinander abgearbeitet wird. -
Zitat
das es diesen dann in den Ring 0 verfrachtet ?
Meines Wissens ist es nicht möglich separat anzuweisen, auf welcher Ebene AutoIt-Skript implementiert wird. Wenn du so tief ins System eintauchst, solltest du auch eine systemnahe Sprache und keine Skriptsprache verwenden. Wie wärs mit Assembler ? -
Was hast du denn "böses" vor, dass du eine neue WAN-IP brauchst?
-
Was blinkt denn da bei dir?? - Wohl die Weinachtsbaumbeleuchtung.
Hier mal ein ganz simples Beispiel:Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
$switch = False
GUICreate("GUI")
$lb = GUICtrlCreateLabel ("Label ToolTip DE", 10,20)
GUICtrlSetTip(-1,"DEUTSCH")
$bt = GUICtrlCreateButton('Switch ToolTip', 120, 20, 100)
GUISetState ()While 1
[/autoit]
$msg = GUIGetMsg()
If $msg = $bt Then
If $switch Then
GUICtrlSetTip($lb, 'DEUTSCH')
GUICtrlSetData($lb, "Label ToolTip DE")
Else
GUICtrlSetTip($lb, 'ENGLISH')
GUICtrlSetData($lb, "Label ToolTip EN")
EndIf
$switch = Not $switch
EndIf
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend -
DLL mit runtergeladen und registriert?