Da ist was dran ...
Beiträge von ip_trainer
-
-
Hallo,
ich versuche gerade (unter Win7, 64Bit) die Bildschirmtastatur aus Autoit heraus zu starten. Klappt aber leider nicht.
[autoit]Run("osk.exe")
[/autoit]Wenn man hingegen im Statmenü->Ausführen "osk.exe" eintippt, wird das Programm gestartet.
Mit ShellExecute() bekomme ich immerhin die Windows-Meldung, dass die Bildschirmtastatur nicht gestartet werden konnte.
Die Datei befindet sich in "C:\Windows\SysWOW64\". Wenn der Prozess via Ausführen gestartet wurde und man öffnet den Dateipfad (Taskmanager, rechte Maustaste auf Prozess) dann landet man in "C:\Windows\System32".
Hat jemand eine Idee wie man das gestartet bekommt?
Vielen Dank für Hilfe...
Trainer -
Zitat
Wozu? Ich dachte du willst die Daten direkt über TCP auslesen.
Da hast du eigentlich Recht, ich denke ich werde mich da morgen noch mal dransetzen, und es direkt über TCP machen. Bin nur zu müde jetzt..
Gruß
Trainer -
Das Netzwerk ist mein eigenes, hier zuhause. Der Server ist auch nur ein Win7-Rechner, der halt als Server dient (Anrufbeantworter, Fax, Email, etc.). Firewalls sind also kein Problem.
Einen XAmpp o.Ä. wollte ich darauf jetzt nicht unbedingt installieren. Oder habe ich dich falsch verstanden?
-
Hi zusammen,
ich habe mal eine - vielleicht etwas ungewöhnliche - Frage: ich möchte eine Zustandsinformation (offen, geschlossen, unbekannt) im Netzwerk verteilen. Diverse Clients sollen diese Information immer ziemlich aktuell (Minimum: 10sek, Maximum: 1min) zur Verfügung haben. Gespeichert wird die Information zentral (auf dem Server) in einer Text-Datei. Geschrieben wird die Information ca. 5 mal am Tag, und zwar von beliebigen Clients.
Bisher habe ich es so gelöst, dass die Clients sich die Information über ein FileRead() aus dem freigegebenen Verzeichnis vom Server holen (und auch dort schreiben). D.h. die Datei wird also z.B. bei 3 Clients / 30s-Taktung insgesamt 6 mal pro Minute gelesen. Bei 1440min am Tag sind das 8640 lesenden Dateizugriffe auf dem Server pro Tag.
Nun habe ich mir überlegt, dass ich das vielleicht über einen TCP-Server geschickter lösen könnte. Einen Programm, welches die Information unter der Lokalen IP-Adresse (Port 80) des Servers bereitstellt und die Information auch entgegen nehmen /schreiben kann, habe ich bereits programmiert (besser: umgeschrieben, gezeigt wie es geht wurde es hier im Forum):
Spoiler anzeigen
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit] [autoit][/autoit] [autoit]
#AutoIt3Wrapper_icon=
#AutoIt3Wrapper_outfile=
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****;========================================== Includes und Optionen =============================================================================================
[/autoit] [autoit][/autoit] [autoit]
#include-once
#include <Misc.au3>If _Singleton("share_status_server", 1) = 0 Then
[/autoit] [autoit][/autoit] [autoit]
Msgbox(0,"Warnung","Eine Instanz des Skripts wird bereits ausgeführt!")
Exit
EndIf;Funktion welche beim Beenden ausgeführt wird
[/autoit] [autoit][/autoit] [autoit]
OnAutoItExitRegister("OnAutoItExit");-----------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit];Zum Start den zulezt gespeicherten Zustand aus der Datei lesen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $status = FileRead(@ScriptDir & "\status.txt")
If $status = "" Then $status = "unbekannt"TCPStartup()
[/autoit] [autoit][/autoit] [autoit]
$MainSocket = TCPListen(@IPAddress1, 80)While 1
[/autoit] [autoit][/autoit] [autoit];Lauschen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Do
$socket = TCPAccept($MainSocket)
Sleep(100)
Until $socket <> -1;Empfangen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$sRecv = ""
Do
$sRecv &= TCPRecv($socket, 1)
Until StringInStr($sRecv, @CRLF & @CRLF);Auswerten
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite($sRecv & @CRLF)If StringInStr($sRecv, "GET /get_status") Then
[/autoit] [autoit][/autoit] [autoit]
HTTPSend($socket, $status)ElseIf StringInStr($sRecv, "GET /set_status=offen") Then
[/autoit] [autoit][/autoit] [autoit]
HTTPSend($socket, "ok")
$status="offen"ElseIf StringInStr($sRecv, "GET /set_status=geschlossen") Then
[/autoit] [autoit][/autoit] [autoit]
HTTPSend($socket, "ok")
$status="geschlossen"ElseIf StringInStr($sRecv, "GET /set_status=unbekannt") Then
[/autoit] [autoit][/autoit] [autoit]
HTTPSend($socket, "ok")
$status="unbekannt"EndIf
[/autoit] [autoit][/autoit] [autoit];Verbindung schließen
[/autoit] [autoit][/autoit] [autoit]
TCPCloseSocket($socket)
$socket = -1WEnd
[/autoit] [autoit][/autoit] [autoit]TCPShutdown()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];-------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func HTTPSend($socket, $sData)
$sHeader = "HTTP/1.1 200 OK" & @CRLF & _
"Server: Autoit" & @CRLF & _
"Cache-Control: max-age=0, public" & @CRLF & _
"Connection: close" & @CRLF & _
"Content-Length: " & StringLen($sData) & @CRLF & _
"Content-Type: text/html; charset=UTF-8" & @CRLF & @CRLF
Return TCPSend($socket, $sHeader & $sData)
EndFunc;-------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func OnAutoItExit();Zustand speichern
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@ScriptDir & "\status.txt")
FileWrite(@ScriptDir & "\status.txt", $status)EndFunc
[/autoit]Den auslesenden Teil für die Clients will ich über die IE.au3 machen: _IENavigate() bzw. _IEBodyReadHTML().
Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit]
#include "IE.au3"
#include <Misc.au3>If _Singleton("share_status_client", 1) = 0 Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Msgbox(0,"Warnung","Eine Instanz des Skripts wird bereits ausgeführt!")
Exit
EndIf;Internet-Explorer starten (unsichtbar)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_IEErrorHandlerRegister ()
$oIE = _IECreate("about:blank", 0, 0, 1, 0);Zyklisch die Information abrufen
[/autoit] [autoit][/autoit] [autoit]
While 1_IENavigate($oIE, "http://IP-ADRESSE-DES-SERVERS/get_status", 1) ; --> Beim Testen wohl auch einfach @IPAddress1
[/autoit] [autoit][/autoit] [autoit]
$status = _IEBodyReadHTML($oIE)
MsgBox("", "", $status, 3)Sleep (5000)
[/autoit]
WEndNun also endlich die Frage(n).
1. Haltet ihr es generell für sinvoll den Weg über einen TCP-Server zu gehen, oder sagt ihr: "Pfeif auf die paar Plattenzugriffe..." ?
2. Wenn das Server-Programm einmal gestartet ist, finden dann eigentlich trotzdem noch irgendwelche Plattenzugriffe statt die ich zwar nicht programmiert habe, die aber Autoit/Windows für den Serverbetrieb benötigt?
3. Wie sieht das beim den Clients aus? Erzeugt das Plattenlast (ich habe den Eindruck, ich höre meine Platte bei jedem Loopdurchlauf, also alle 5sek rattern) ...Danke für eure Meinungen
Gruß Trainer -
Ok, ich denke du hast schon Recht. In php isses wohl einfach ein wenig eingängiger/ direkter.
Ich schließe den Thread jetzt mal, das Thema ist wohl hinreichend behandelt worden, oder?
Vielen Dank nochmal an alle.
Gruß
Trainer -
-
@progandy, AspirinJunkie,
habt vielen Dank für euere Tips! Ihr habt übrigens ALLE Recht, genau das mit wollte ich machen (ini einlesen und in Dicionary überführen) :P.
Und um ganz ehrlich zu sein, wollte ich nicht so direkt rausposaunen was ich machen will, weil ich das fertige Skript nachher posten wollte (so als Überraschung irgendwie, k.A. - war vielleicht doof. Zumal ja allem Anschein nach das Problem, dass es in Autoit dafür keine native Funktion gibt schon mehrfach erkannt und gelöst worden ist ).
Also nochmal vielen Dank. Trotzdem würde mich noch interessieren, ob es denn eine Entsprechung / Workaround zu $$variablen gibt, mal ganz unanhäng von o.g. Problem. Ich hätte das schon öfters mal gebrauchen können.
Gruß
Trainer -
Hi BugFix,
hast du irgendwie schlechte Laune heute?
Ich fand meine Beschreibung völlig ausreichend.
Trotzdem vielen Dank für deine Hilfe und für die angehängte Datei.
Gruß
Trainer -
Hi BugFix,
danke für deine Antwort.
Stimmt, die Syntax für die Add-Methode war falsch, aber das war nur ein Flüchtigkeitsfehler beim Posten, sorry ...
Deine Erklärung verstehe ich aber leider nicht.
Wieso ist das Erstellen von $section überflüssig? Ich hatte gedacht, dass der String der in $section steht ("test") als Variablen-Name bei Assign() verwendet wird, ganz gleich so wie wenn man bei Assign("STRING", "irgendwas") eine String als Name übergibt. Und nicht, dass Assign() dann wieder $test überschreibt. Schließlich bekommt die Funktion doch den Wert der in $test steht übergeben, und nicht die Variable selbst...?!? Oder liege ich da falsch?
Zitat- dann verknüpst du diese Variable mit einem neuen Wert - dem Handle des Dict.Object
Genau, ich wollte der damit erstellen Variable das Handle des Objekts zuweisen, das stimmt schon so. Das war doch mein Plan .
Wie auch immer, kennst du denn eine Lösung für das Problem?
Danke und Gruß
Trainer -
Hallo,
ich versuche gerade ein Dictionary-Object welches ich via Assign erzeugt habe mit Inhalt zu füllen.
Das Objekt wird zwar erzeugt (unter dem richtigen Namen "$test"), aber ich schaffe es dann nicht mehr die Methoden des Objekts aufzurufen, da ich den Variablen-Namen des Objekts nur in einer Variable vorliegen habe.
Es müsste dann quasi so etwas (wie zum Beispiel in php) à la $$section geben - wobei man sich dann auch das assign sparen könnte, und gleich $$section = ObjectCreate(...) machen könnte.Hat jemand eine Idee, wie bzw. ob das überhaupt zu bewerkstelligen ist?
Danke für Hilfe
[autoit]
Trainer
[/autoit][autoit][/autoit][autoit]
$section = "test";KLAPPT
[/autoit][autoit][/autoit][autoit]
Assign($section, ObjCreate('Scripting.Dictionary'), 2);KLAPPT NICHT
[/autoit][autoit][/autoit][autoit][/autoit]
$section.Add("test" = "bla")P.S. Ich habe gerade festgestellt, dass das Erzeugen mit Assign zwar Erfolg zurückliefert (1), aber falls ich versuche in irgendeiner Form lesend auf die variable Variable zuzugreifen, kommt die Fehlermeldung, dass sie nicht deklariert sei. Seltsam, oder?
-
Hi,
mir ist bewußt, dass das Thema schon alt ist, aber ich hatte heute das gleiche Problem und erst mal keine Lösung gefunden.
Aber jetzt habe ich doch eine ...
Um z.B. alles zu markieren und zu kopieren, verwende man einfach anstelle von:
[autoit]
[/autoit]
Send("^a")
Send("^c")dieses hier:
[autoit]
[/autoit]
Send("{CTRLDOWN}")
Send("a")
Send("c")
Send("{CTRLUP}")Das hat geholfen, die STRG-Taste bleibt nicht mehr hängen (zumindest bei mir).
Gruß
Trainer -
So etwa?
Gruß
[autoit]
Trainer$file = FileOpen(@ScriptDir & "\zahlen.txt", 0)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
$zahl = FileReadLine($file)
If @error = -1 Then ExitLoopSleep(2500)
[/autoit][autoit][/autoit][autoit]Send("{END}")
[/autoit][autoit][/autoit][autoit]
Sleep(200)
MouseClick("left", 886, 492)
Sleep(250)
Send($zahl)
Sleep(200)
Send("{ENTER}")
Sleep(2000)Wend
[/autoit] -
Hallo,
in diesem Thread hier: https://autoit.de/index.php?page…dern#post128152
wurde von "funkey" gezeigt, wie man das Icon einer laufenden-Nicht-AutoIt-Anwendung ändern kann.Die Funktion (und der Aufruf dazu) sind diese hier:
Spoiler anzeigen
[autoit]_GUISetIcon(WinGetHandle("[ACTIVE]", ""), "shell32.dll", 322) ; name, not ordinal value
[/autoit] [autoit][/autoit] [autoit]Func _GUISetIcon($hGui, $sModule, $iName) ; for loaded modules in this shape
[/autoit] [autoit][/autoit] [autoit]Local $a_hCall = DllCall("kernel32.dll", "hwnd", "GetModuleHandleW", "wstr", $sModule)
[/autoit] [autoit][/autoit] [autoit]Local $hModule = $a_hCall[0]
[/autoit] [autoit][/autoit] [autoit]$a_hCall = DllCall("user32.dll", "hwnd", "LoadImageW", _
[/autoit] [autoit][/autoit] [autoit]
"hwnd", $hModule, _
"int", $iName, _
"dword", 1, _ ; IMAGE_ICON
"int", 32, _
"int", 32, _
"dword", 0) ; LR_DEFAULTCOLORLocal $hIcon = $a_hCall[0]
[/autoit] [autoit][/autoit] [autoit]DllCall("user32.dll", "hwnd", "SendMessageW", _
[/autoit] [autoit][/autoit] [autoit]
"hwnd", $hGui, _
"dword", 0x0080, _ ; WM_SETICON
"dword", 0, _ ; 1 = ICON_BIG, 0 = ICON_SMALL
"ptr", $hIcon)EndFunc ;==>_GUISetIcon
[/autoit]
Das funktioniert bei vielen Programmen super, bei manchen aber leider nicht. Und auch nicht beim Internet-Explorer.Hat jemand vielleicht eine Idee, wie man das hinbiegen kann?
Vielen Dank für Hilfe
Trainer -
Danke für deine Antwort, Alina!
Das war jedoch nicht wirklich das Problem.
Es ist so schwer zu beschreiben was ich meine - aber es ist auch egal, es hat sich ja mittlerweile eh erledigt...
-
Oh Mann,
ich stelle gerade fest, dass mir das ja alles im Endeffekt gar nichts nützt. Falls ein Programm den Splash später mal verwenden will, muss das Verzeichnis mit den AVIs ja auch noch vorhanden sein. Dann bleibt wohl nur übrig, einen relativen Pfad mitzuübergeben und die Dateien "selbst bereitzustellen".
Trotzdem Danke für Eure Hilfe...
Gruß
TrainerHier nochmal die überarbeitete Version:
Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <AVIConstants.au3>Global $splash_on
[/autoit] [autoit][/autoit] [autoit]#cs ########################################################################
[/autoit] [autoit][/autoit] [autoit]Funktionsbeschreibungen
[/autoit] [autoit][/autoit] [autoit]splash_on (avi_pfad, [, style] [, fenstertitel [, text ]])
[/autoit] [autoit][/autoit] [autoit]Parameter: avi_pfad (string)
[/autoit] [autoit][/autoit] [autoit]
style (string) "small", "medium", "large"
fenstertitel (string)
text (string)-------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]splash_off (splash_hwnd)
[/autoit] [autoit][/autoit] [autoit]Parameter: splash_hwnd (string)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#ce ########################################################################
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func splash_on($avi_pfad, $style="medium", $fenstertitel= "Einen Moment, bitte...", $text="Das Programm wird geladen!")
[/autoit] [autoit][/autoit] [autoit];Nur einen Splash zulassen
[/autoit] [autoit][/autoit] [autoit]
If $splash_on <> True Then;Pfad bereinigen
[/autoit] [autoit][/autoit] [autoit]
$avi_pfad = StringReplace($avi_pfad, "\", "")If $style = "small" Then
[/autoit] [autoit][/autoit] [autoit]
$splash_gui = GUICreate($fenstertitel, 240, 75, Default, Default, "", BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
$animation = GUICtrlCreateAvi(@ScriptDir & "\" & $avi_pfad & "\loading_small.avi", 0, 30, 15, "", "", $ACS_NONTRANSPARENT)
$splash_text = GUICtrlCreateLabel($text, 57, 16)ElseIf $style = "medium" Then
[/autoit] [autoit][/autoit] [autoit]
$splash_gui = GUICreate($fenstertitel, 275, 100, Default, Default, "", BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
$animation = GUICtrlCreateAvi(@ScriptDir & "\" & $avi_pfad & "\loading_medium.avi", 0, 25, 15, "", "", $ACS_NONTRANSPARENT)
$splash_text = GUICtrlCreateLabel($text, 78, 31, 250)
GUICtrlSetFont($splash_text, 9)ElseIf $style = "large" Then
[/autoit] [autoit][/autoit] [autoit]
$splash_gui = GUICreate($fenstertitel, 325, 115, Default, Default, "", BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
$animation = GUICtrlCreateAvi(@ScriptDir & "\" & $avi_pfad & "\loading_large.avi", 0, 20, 20, "", "", $ACS_NONTRANSPARENT)
$splash_text = GUICtrlCreateLabel($text, 85, 34, 300)
GUICtrlSetFont($splash_text, 12)
Else
Return False
EndIfGUISetBkColor(0xFFFFFF)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($animation, $GUI_AVISTART)
GUISetState(@SW_SHOW)$splash_on = True
[/autoit] [autoit][/autoit] [autoit]Return $splash_gui
[/autoit] [autoit][/autoit] [autoit]Else
[/autoit] [autoit][/autoit] [autoit]
Return False
EndIfEndFunc
[/autoit] [autoit][/autoit] [autoit];-----------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func splash_off($del_gui)If $splash_on = True Then
[/autoit] [autoit][/autoit] [autoit]If GUIDelete($del_gui) = 1 Then
[/autoit] [autoit][/autoit] [autoit]
$splash_on = False
Return True
Else
Return False
EndIfElse
[/autoit] [autoit][/autoit] [autoit]
Return False
EndIfEndFunc
[/autoit]
Und hier das Beispiel:Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include "_splash.au3"$splash = splash_on("avi_files\", "large")
[/autoit]
Sleep(5000)
splash_off($splash) -
Hi,
stimmt relativ und absolut beißt sich irgendwie ...
Hier mal der Code um den es geht. Das Skript liegt in einem Verzeichnis, in dem (in einem Unterverzeichnis) die abzuspielenden AVIs liegen. Nur leider werden diese AVIs nicht gefunden, wenn das "includierende Skript" nicht auf gleicher Verzeichnisebene mit _splash.au3 liegt (was ja auch logisch ist).
Gruß
TrainerSplash-Include (_splash.au3):
Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <AVIConstants.au3>Global $splash_on
[/autoit] [autoit][/autoit] [autoit]#cs ########################################################################
[/autoit] [autoit][/autoit] [autoit]Funktionsbeschreibungen
[/autoit] [autoit][/autoit] [autoit]splash_on ([style] [, fenstertitel [, text ]])
[/autoit] [autoit][/autoit] [autoit]Parameter: style (string) "small", "medium", "large"
[/autoit] [autoit][/autoit] [autoit]
fenstertitel (string)
text (string)-------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]splash_off (splash_hwnd)
[/autoit] [autoit][/autoit] [autoit]Parameter: splash_hwnd (string)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#ce ########################################################################
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func splash_on($style="medium", $fenstertitel= "Einen Moment, bitte...", $text="Das Programm wird geladen!")
[/autoit] [autoit][/autoit] [autoit];Nur einen Splash zulassen
[/autoit] [autoit][/autoit] [autoit]
If $splash_on <> True ThenIf $style = "small" Then
[/autoit] [autoit][/autoit] [autoit]
$splash_gui = GUICreate($fenstertitel, 240, 75, Default, Default, "", BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
$animation = GUICtrlCreateAvi(".\avi\loading_small.avi", 0, 30, 15, "", "", $ACS_NONTRANSPARENT)
$splash_text = GUICtrlCreateLabel($text, 57, 16)ElseIf $style = "medium" Then
[/autoit] [autoit][/autoit] [autoit]
$splash_gui = GUICreate($fenstertitel, 275, 100, Default, Default, "", BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
$animation = GUICtrlCreateAvi(".\avi\loading_medium.avi", 0, 25, 15, "", "", $ACS_NONTRANSPARENT)
$splash_text = GUICtrlCreateLabel($text, 78, 31, 250)
GUICtrlSetFont($splash_text, 9)ElseIf $style = "large" Then
[/autoit] [autoit][/autoit] [autoit]
$splash_gui = GUICreate($fenstertitel, 325, 115, Default, Default, "", BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
$animation = GUICtrlCreateAvi(".\avi\loading_large.avi", 0, 20, 20, "", "", $ACS_NONTRANSPARENT)
$splash_text = GUICtrlCreateLabel($text, 85, 34, 300)
GUICtrlSetFont($splash_text, 12)
Else
Return False
EndIfGUISetBkColor(0xFFFFFF)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($animation, $GUI_AVISTART)
GUISetState(@SW_SHOW)$splash_on = True
[/autoit] [autoit][/autoit] [autoit]Return $splash_gui
[/autoit] [autoit][/autoit] [autoit]Else
[/autoit] [autoit][/autoit] [autoit]
Return False
EndIfEndFunc
[/autoit] [autoit][/autoit] [autoit];-----------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func splash_off($del_gui)If $splash_on = True Then
[/autoit] [autoit][/autoit] [autoit]If GUIDelete($del_gui) = 1 Then
[/autoit] [autoit][/autoit] [autoit]
$splash_on = False
Return True
Else
Return False
EndIfElse
[/autoit] [autoit][/autoit] [autoit]
Return False
EndIfEndFunc
[/autoit]
Beispiel:Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit]
#include "VERZEICHNIS\_splash.au3"$splash = splash_on("medium")
[/autoit]
Sleep(3000)
splash_off($splash) -
Hi,
sorry, mir ist einfach keine bessere Überschrift eingefallen ...
Vielleicht ist es nur ein kleines Problem, aber irgendwie komm ich nicht weiter:
Kann man innerhalb einer Include-Datei den Pfad zu einem Unterverzeichnis relativ zur Include-Datei bestimmen? Ich möchte nämlich in dieser Include-Datei ein Bild anzeigen, welches unabhängig vom Pfad der Include-Datei sein soll.
Klingt irgendwie verworren ,ich weiß :).
Also nochmal: @ScriptDir liefert mir ja immer nur den Pfad zum Script, in welchem die Include-Datei eingebunden ist. Wie komme ich also innerhalb des Includes an den Pfad eines Unterverzeichnisses.
Ok, es wird nicht besser, ich geb auf --- vielleicht versteht ja jemand was ich meine
Gruß
Trainer -
Du bist mein Retter, danke ...
Hab die Liste mind. 5 x durchgelesen, aber bei 0 = UNKOWN habe ich einfach nicht mehr den Zusatz in der Klammer beachtet .
-
Hallo zusammen,
weiß zufällig jemand ob/wie es geht, den Mauszeiger beim Drüberfahren über ein Control in eine Hand zu verwandeln, in dem Stil wie sie die üblichen Webbrowser normalerweise bei einem Link darstellen?
Ich würde das gerne für Hyperlinks in einer GUI haben, finde aber nichts passendes in der Cursor-Liste .Gruß
Trainer