Es gibt die Funktion _FFLoadWait von Stilgar. Ich kenne mich damit aber nicht aus.
Hoffe das hilft dir weiter https://autoit.de/index.php?page=Board&boardID=32
Beiträge von funkey
-
-
Hier mal die Funktion. Hab allerdings keine Ahnung was man damit macht.
NomadMemory.au3
[autoit];==================================================================================
[/autoit] [autoit][/autoit] [autoit]
; Function: SetPrivilege( $privilege, $bEnable )
; Description: Enables (or disables) the $privilege on the current process
; (Probably) requires administrator privileges to run
;
; Author(s): Larry (from autoitscript.com's Forum)
; Notes(s):
; http://www.autoitscript.com/forum/index.ph…ndpost&p=223999
;==================================================================================Func SetPrivilege( $privilege, $bEnable )
[/autoit]
Const $TOKEN_ADJUST_PRIVILEGES = 0x0020
Const $TOKEN_QUERY = 0x0008
Const $SE_PRIVILEGE_ENABLED = 0x0002
Local $hToken, $SP_auxret, $SP_ret, $hCurrProcess, $nTokens, $nTokenIndex, $priv
$nTokens = 1
$LUID = DLLStructCreate("dword;int")
If IsArray($privilege) Then $nTokens = UBound($privilege)
$TOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
$NEWTOKEN_PRIVILEGES = DLLStructCreate("dword;dword[" & (3 * $nTokens) & "]")
$hCurrProcess = DLLCall("kernel32.dll","hwnd","GetCurrentProcess")
$SP_auxret = DLLCall("advapi32.dll","int","OpenProcessToken","hwnd",$hCurrProcess[0], _
"int",BitOR($TOKEN_ADJUST_PRIVILEGES,$TOKEN_QUERY),"int_ptr",0)
If $SP_auxret[0] Then
$hToken = $SP_auxret[3]
DLLStructSetData($TOKEN_PRIVILEGES,1,1)
$nTokenIndex = 1
While $nTokenIndex <= $nTokens
If IsArray($privilege) Then
$priv = $privilege[$nTokenIndex-1]
Else
$priv = $privilege
EndIf
$ret = DLLCall("advapi32.dll","int","LookupPrivilegeValue","str","","str",$priv, _
"ptr",DLLStructGetPtr($LUID))
If $ret[0] Then
If $bEnable Then
DLLStructSetData($TOKEN_PRIVILEGES,2,$SE_PRIVILEGE_ENABLED,(3 * $nTokenIndex))
Else
DLLStructSetData($TOKEN_PRIVILEGES,2,0,(3 * $nTokenIndex))
EndIf
DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,1),(3 * ($nTokenIndex-1)) + 1)
DLLStructSetData($TOKEN_PRIVILEGES,2,DllStructGetData($LUID,2),(3 * ($nTokenIndex-1)) + 2)
DLLStructSetData($LUID,1,0)
DLLStructSetData($LUID,2,0)
EndIf
$nTokenIndex += 1
WEnd
$ret = DLLCall("advapi32.dll","int","AdjustTokenPrivileges","hwnd",$hToken,"int",0, _
"ptr",DllStructGetPtr($TOKEN_PRIVILEGES),"int",DllStructGetSize($NEWTOKEN_PRIVILEGES), _
"ptr",DllStructGetPtr($NEWTOKEN_PRIVILEGES),"int_ptr",0)
$f = DLLCall("kernel32.dll","int","GetLastError")
EndIf
$NEWTOKEN_PRIVILEGES=0
$TOKEN_PRIVILEGES=0
$LUID=0
If $SP_auxret[0] = 0 Then Return 0
$SP_auxret = DLLCall("kernel32.dll","int","CloseHandle","hwnd",$hToken)
If Not $ret[0] And Not $SP_auxret[0] Then Return 0
return $ret[0]
EndFunc ;==>SetPrivilege -
[autoit]
Local $ProcessInfos = ''
[/autoit][autoit][/autoit][autoit]
Local $Process = 'robocopy.exe'$list = ProcessList($Process)
[/autoit][autoit][/autoit][autoit]
For $i = 1 to $list[0][0]
$ProcessInfos &= $list[$i][0]&" : "& $list[$i][1] &@CRLF
NextMsgBox(0,'Es gibt '&$list[0][0]&' Instanzen von '&$Process, $ProcessInfos)
[/autoit][autoit][/autoit][autoit][/autoit]Edit: &@CRLF hinzugefügt
-
Nimm stattdessen diese Zeile
[autoit]_GUICtrlEdit_LineScroll($Chat, 0, _GUICtrlEdit_GetLineCount($Chat))
[/autoit] -
Schau dir mal die SQLite.dll.au3 im Include-Ordner an.
-
PixelGetColor retourniert Dezimal.
[autoit]
Außerdem senden im Raw-Modus ist besser wenn !! enthalten sind.Global $KoordLR = 0, $KoordLL = 0, $KoordRL = 500, $KoordRR = 500
[/autoit][autoit][/autoit][autoit]If PixelGetColor( $KoordLR, $KoordLL) = Dec('FFFFFF') And PixelGetColor( $KoordRL, $KoordRR) <> Dec('000000') Then
[/autoit]
MsgBox(0,PixelGetColor( $KoordLR, $KoordLL),PixelGetColor( $KoordRL, $KoordRR))
Send("Error !! Einstellungen ändern !!",1)
sleep (100)
EndIf -
@r1fLeX: Deine Version finde ich nicht so gut. Wenn ich jetzt die MsgBox nicht wegklicke, dann kann ich den Taskmanager beim zweiten Mal normal starten, am besten ist immer die Lösung über die Registry.
-
Dein Fehler ist, dass du die 'test1.txt' nicht explizit öffnest!
So funktioniert es auch (bin auch zu faul, diese Datei vorher zu öffnen!)Spoiler anzeigen
[autoit];--------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
;umwandeln$file = FileOpen("test.txt", 1)
[/autoit] [autoit][/autoit] [autoit]$zahl = 0
[/autoit] [autoit][/autoit] [autoit]
$line = 1
$blub = ""
While $zahl <= 50
$zahl = $zahl + 1
$line = $line + 1
$md5 = FileReadLine($file, $line)
$blub &= md5($md5)
FileWrite("test1.txt",$blub & @CRLF)
If @error = -1 Then ExitLoop
WendFileClose($file)
[/autoit] -
@Xeno: Das ist doch genau das selbe, was ich in Post 6 geschrieben habe, und das funktioniert anscheinend nicht, also komisch

-
Dann probiert mal echo ^| in der DOS-Box aus. Hab ich nachgelesen, dass es eigentlich so funktionieren sollte. Vllt finde ich den Link wieder.
-
Ich habe jetzt doch noch einen Vorschlag. Probier mal das:
[autoit]$Output = "^|" &$TonerBestellMenge&"x Toner: "&$Tonerartikel[$i]&" für "&$DruckerTyp[$i]&" bestellen! "
[/autoit]
_RunDOS("echo Tonerbestand KRITISCH ! "&$Output) -
Wie soll das funktionieren? Wieso Pipe. Das geht nur wenn nach der Pipe ein korrekter Befehl folgt. Nimm doch irgendein anderes Zeichen.
-
Toby auch von mir ein herzliches Willkommen!
Die SuFu hier ist etwas gewöhnungsbedürftig, aber das wirst du schon hinbekommen!
-
Hoppla, sorry!
@windowsdir ist falsch, es muss @WorkingDir heißen sonst funktioniert es nicht.
-
Habe ich gefunden
http://www.pcwelt.de/start/software…er_mit_details/
EDIT: Hab dir was gebastelt. Ich garantiere nur, dass es auf meinem PC einwandfrei läuft
[autoit]
$title = 'Test Details'
[/autoit][autoit][/autoit][autoit]
_FileOpenDetails($title)
FileOpenDialog($title,"","Alles (*.*)")Func _FileOpenDetails($title)
[/autoit]
Local $str = "Local $x = Opt('WinWaitDelay',0)+WinWaitActive('"&$title&"','')+" & _
"ControlFocus('"&$title&"','','ToolbarWindow321')+" & _
"Send('{right 2}{space}d')+" & _
"ControlFocus('"&$title&"','','Edit1')"
Run('"' & @AutoItExe & '" /AutoIt3ExecuteLine "' & $str & '"')
EndFunc -
Anstelle von Zeile 29
Spoiler anzeigen
[autoit]If @WindowsDir = @ScriptDir Then
[/autoit]
GUISetState(@SW_SHOW)
Else
GUISetState(@SW_HIDE)
EndIf -
Hab dich hoffentlich richtig verstanden, ich würde es so probieren:
[autoit]If @WindowsDir = @ScriptDir Then
[/autoit]
mit_gui()
Else
ohne_gui()
EndIf -
Ist bei mir das selbe mit Notepad und Word 2007. Mich wundert nur, dass diese Einstellung keinen effekt hat!?
-
Diese Einstellung hilft bei mir nicht, der Zeiger verschwindet aber nur, wenn er innerhalb der GUI ist und nur solange bis ich ihn wieder bewege. Stört mich überhaubt nicht, finde ich sogar gut so.
-
Hab's:
[autoit]_IECreate("www.autoit.de",0,1,0)
[/autoit]Die IE UDF wartet sttandardmäßig bis das Fenster aufgebaut wurde, wenn das Fenster aber zu früh einfach geschlossen wird, kommt das Programm aus einer Schleife in der IE.au3 nicht mehr heraus, deswegen benutzt du am besten die Parameter, die ich angegeben habe.