Ups, hab ihn korriegiert. Hier noch einer: [ offen ] Handle auslesen
mfg autoBert
Ups, hab ihn korriegiert. Hier noch einer: [ offen ] Handle auslesen
mfg autoBert
Hallo habenureinproblem,
löse es doch indem du die ganze Section einliest:
Func _berechnen()
_GUICtrlListView_DeleteAllItems($listview_anzeige)
$timer1 = TimerInit()
Dim $vars[31]
$maximal = IniReadSectionNames("geschwindigkeitstest.ini")
For $j = 1 To $maximal[0]
$vars = IniReadSection("geschwindigkeitstest.ini",$j)
; _ArrayDisplay($vars)
$test1 = $vars[1][1] * $vars[4][1]
$test2 = $vars[2][1] * $vars[5][1]
$test3 = $vars[3][1] * $vars[6][1]
$test4 = $vars[4][1] * $vars[7][1]
$test5 = $vars[5][1] * $vars[4][1] / $vars[1][1] * $vars[9][1]
$item = GUICtrlCreateListViewItem($test1 & "|" & $test2 & "|" & $test3 & "|" & $test4 & "|" & $test5 & "|", $listview_anzeige)
Next
GUICtrlSetData($label_zeit, TimerDiff($timer1))
EndFunc ;==>_berechnen
auch diese Änderung bringt noch ein paar MilliSekunden:
[autoit]Case $button_berechnen
_GUICtrlListView_BeginUpdate($listview_anzeige)
_berechnen()
_GUICtrlListView_EndUpdate($listview_anzeige)
Beide Änderungen zusammen komme ich jetzt auf unter 1 sec.
mfg autoBert
Hallo muffti,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
und jetzt zu deiner Frage: Afair nein, dazu müsstest du es sichtbar machen
[autoit]WinSetState($HandleDesFenters, "", @SW_SHOW)
[/autoit]danach
[autoit]_ScreenCapture_CaptureWnd($HandleDesFenters)
[/autoit]anwenden und danach wieder verstecken
[autoit]WinSetState($HandleDesFenters, "", @SW_HIDE)
[/autoit]mfg autoBert
so wäre es richtig, steht auch in der Hilfe als Beispiel ;):
[autoit]Run("C:\Program Files\Soft\Total\test.exe", @SW_MAXIMIZE)
[/autoit]
Chip, du hast den Parameter WorkingDir vergessen, also entweder so
Run("C:\Program Files\Soft\Total\test.exe","", @SW_MAXIMIZE)
[/autoit]
oder so:
Run("C:\Program Files\Soft\Total\test.exe",@ScriptDir, @SW_MAXIMIZE)
[/autoit]in diesem Fall wird das Skriptverzeichnis als Arbeitsverzeichnis benutzt,
mfg autoBert
Hallo checker5000,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
Dieses Theam gehört eigentlich nach http://www.autoit.de/index.php?page=Board&boardID=39
@Mod/Admin bitte verschieben, danke
mfg autoBert
Hallo Milla,
ich würde es so lösen:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Dim $idLabel1[5], $idLabel2[5]
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", @DesktopWidth, @DesktopHeight-60)
GUISetBkColor(0xFFFFFF)
GUICtrlSetDefColor(0x222222)
For $i = 0 To 4
$idLabel1[$i] = GUICtrlCreateLabel("Label " & $i, 5, 50+$i * 25, 60, 18)
Next
$hGuiChild = GUICreate("", @DesktopWidth/2, @DesktopHeight-60, @DesktopWidth/2, 0, $WS_CHILD, Default, $Form1)
GUISetBkColor(0x222222)
GUICtrlSetDefColor(0xFFFFFF)
For $i = 0 To 4
$idLabel2[$i] = GUICtrlCreateLabel("Label " & $i, 5, 50+$i * 25, 60, 18)
Next
GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_SHOW, $hGuiChild)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
mfg autoBert
Hallo SlowlyDead,
hier ein Skript von UEZ:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>
Global $hGUI, $hImage, $hGraphic, $hImage
Global Const $SC_DRAGMOVE = 0xF012
; Create GUI
$hGUI = GUICreate("Show PNG", 575, 300, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
GUISetBkColor(0x01, $hGUI)
GUISetState()
_WinAPI_SetLayeredWindowAttributes($hGUI, 0x01, 0xFF, 3)
; Load PNG image
_GDIPlus_StartUp()
$hImage = _GDIPlus_ImageLoadFromFile("C:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle7.png")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
$Input1 = GUICtrlCreateInput("Input1", 156, 132, 121, 21)
$Input2 = GUICtrlCreateInput("Input2", 156, 156, 121, 21)
$Input3 = GUICtrlCreateInput("Input3", 156, 180, 121, 21)
$Slider1 = GUICtrlCreateSlider(128, 212, 150, 45)
$Button1 = GUICtrlCreateButton("Start", 208, 276, 75, 25)
GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button1
ExitLoop
Case $GUI_EVENT_PRIMARYDOWN
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndSwitch
WEnd
; Clean up resources
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ShutDown()
Exit
; Draw PNG image
Func MY_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, 1)
Return $GUI_RUNDEFMSG
EndFunc
mfg autoBert
nein ich meinte die Func _UpdateProgress
mfg autoBert
Hallo misterspeed,
hast d schon einmal versucht einen sleep(10) einzubauen?
mfg autoBert
Hallo Oscar,
schönes Projekt, da habe ich schon darauf gewartet und habe es mir gerade heruntergeladen. Werde es heute mittag testen, der 1. Eindruck ist gut. ![]()
mfg autoBert
Hallo AgentProxon,
ich habe ein Beispiel gescripted das mit Hilfe der FTP-Funktionen
[autoit]_Ftp_ListToArray2D
_FTP_DirSetCurrent
_FTP_DirGetCurrent
den Inhalt des Servers: ftp.csx.cam.ac.uk in einem TreeView darstellt:
#include <WindowsConstants.au3>
#include <GuiTreeView.au3>
#include <GUIConstantsEx.au3>
#include <FTPEx.au3>
#include <Array.au3>
$start = TimerInit()
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate('FTP-DirViewer', 1024, 540)
$hTreeView = GUICtrlCreateTreeView(10, 10, 380, 490, BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
Global $hTreeViewRoot = GUICtrlCreateTreeViewItem("root", $hTreeView)
$hStatus = GUICtrlCreateLabel("", 2, 510, 1020, 25)
;$hListView = GUICtrlCreateListView("Dateiname",400, 10, 614, 520, Default, $WS_EX_STATICEDGE)
GUISetState()
ToolTip('Please wait...')
Global $server = 'ftp.csx.cam.ac.uk' ;'ftp.lima-city.de';
$username = '';'autobert'
$pass = '';'KR6gnbOsLO'
$Open = _FTP_Open('MyFTP Control')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
;_GUICtrlTreeView_BeginUpdate($hTreeView)
_ShowAllFTPDirs($hTreeViewRoot, "")
;_GUICtrlTreeView_EndUpdate($hTreeView)
ToolTip('')
$end = TimerDiff($start)
MsgBox(0, "Zeit:", $end)
Do
Until GUIGetMsg() = -3
;===============================================================================
; Function Name: _ShowAllFTPDirs($hTVNode, $sPath, $bFiles)
; Description:: erstellt ein TreeView mit Verzeichnissen
; Parameter(s): $hTVNode = ControlID/Handle des TreeViewsItems in dem die Knoten hinzgefügt werden
; $sPath = Verzeichnispfad, der dargestellt werden soll
; $bFiles = True = auch Dateien anzeigen, False = nur Verzeichnisse
; Author(s): AutoBert (http://www.autoit.de)
;===============================================================================
Func _ShowAllFTPDirs($hTVNode, $sPath, $bFiles = True)
Local $hTVItem, $aFiles, $aFolders, $hFileItem, $FolderColor = 0x0000FF, $Folder, $aCount[2] = [0, 0]
If $sPath <> "" Then
_FTP_DirSetCurrent($Conn, $sPath)
$sPath = _FTP_DirGetCurrent($Conn)
EndIf
$aFolders = _Ftp_ListToArray2D($Conn, 1)
;_ArrayDisplay($aFiles)
;_ArrayDisplay($aFolders)
If IsArray($aFolders) Then
For $i = 1 To $aFolders[0][0]
If $aFolders[$i][0] <> '.' And $aFolders[$i][0] <> '..' Then
GUICtrlSetData($hStatus, $sPath & "/" & $aFolders[$i][0])
$hTVItem = GUICtrlCreateTreeViewItem($aFolders[$i][0], $hTVNode)
GUICtrlSetColor(-1, $FolderColor)
_GUICtrlTreeView_SetIcon($hTreeView, $hTVItem, 'shell32.dll', 3, 2)
_GUICtrlTreeView_SetIcon($hTreeView, $hTVItem, 'shell32.dll', 110, 4)
GUICtrlSetColor(-1, $FolderColor)
_ShowAllFTPDirs($hTVItem, $sPath & "/" & $aFolders[$i][0], $bFiles)
EndIf
Next
EndIf
If $bFiles Then
$aFiles = _Ftp_ListToArray2D($Conn, 2)
If IsArray($aFiles) Then
For $i = 1 To $aFiles[0][0]
GUICtrlSetData($hStatus, $sPath & "/" & $aFiles[$i][0] & " Grösse" & $aFiles[$i][1])
$hTVItem = GUICtrlCreateTreeViewItem($aFiles[$i][0], $hTVNode)
_GUICtrlTreeView_SetIcon($hTreeView, $hTVItem, 'shell32.dll', 2)
Next
EndIf
EndIf
EndFunc ;==>_ShowAllFTPDirs
Lass dieses Skript so wie es ist bei dir laufen. Unter Umständen musst du eine Ausnahmeregel für deine Firewall erstellen,
mfg autoBert
diese Mühe haben sich schon die Ersteller der Hilfe gemacht. Hier das leicht abgeänderte Beispiel
Nur da kommt leider nie was wenn ich Username etc ein gebe!
Das Beispiel ist für einen FTP-Server, bei dem du weder Usename noch Passwort benötigst ein Beispiel für deinen Server skripten kann ja nicht klappen, da du ja (zu Recht) die Anmeldedaten für dich behälst,
mfg autoBert
Happy Birthday: Pee wird 22. , funkey 30. Herzlichen Glückwunsch euch beiden, alles Gute im neuen Lebenjahr, vor allem Gesundheit, Pee Erfolg beim Masterstudium, dir funkey Erfolg im Beruf, eine schöne ![]()
mfg autoBert
Hallo i7Clock,
in der Encryption.au3 sind verschiedene Funktionen zum Ver-/Entschlüsseln, allerdings nicht für ganze Ordner. Schau dir dazu Encryption Managment unter Benutzerdefinierte Funktion Referenz an, z.B.:
[autoit]_Crypt_DecryptFile
[/autoit]mfg autoBert
Hallo TwoDollarBillie,
wenn du im Background downloadest kannst du mit InetGetInfo verschiedende Parameter zum Download auslesen. Hier einmal ein Beispielskript von mir:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <Date.au3>
#include <array.au3>
HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7") ; User-Agent (Header) von AutoIt3 ändern, da beim Webhoster dieser gesperrt ist
[/autoit] [autoit][/autoit] [autoit]Global $tDiff, $iToDo, $iRTime, $sMSG, $nKBPerSec
$sUrl = "http://translation.autoit.de/autoitinfo/hilfedateien/AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
;url eventell gegen einen anderen größeren Download tauschen, dann aber bitte auch $sPath ändern
$sPath = @ScriptDir & "\Deutsche Hilfe 3.3.6.1 "
Global $iSize = InetGetSize($sUrl) ;siehe Hilfe zu InetgetSize
Global $tStart = TimerInit()
$hDownLoad = InetGet($sUrl, $sPath, 1, 1) ; <========= die 2. 1 steht für Background
Dim $aData[3]
Do
Sleep(250)
If $aData[0] > 0 Then
_CalcPerformance($aData[0], $aData[2])
TrayTip("downloading", $sMSG, 10, 16)
EndIf
$aData = InetGetInfo($hDownLoad, -1)
Until $aData[2]
$aData = InetGetInfo($hDownLoad, -1)
_CalcPerformance($aData[0], $aData[2])
InetClose($hDownLoad) ; Handle schließen um die Resourcen freizugeben.
MsgBox(0, "", "Bytes gelesen: " & $aData[0] & @CRLF & _
"Größe: " & $aData[1] & @CRLF & _
"beendet?: " & $aData[2] & @CRLF & _
"Erfolgreich?: " & $aData[3] & @CRLF & _
"@error: " & $aData[4] & @CRLF & _
"@extended: " & $aData[5] & @CRLF & @CRLF & _
"KiloBytes/sec:" & $nKBPerSec)
ConsoleWrite("Bytes gelesen: " & $aData[0] & @CRLF & _
"Größe: " & $aData[1] & @CRLF & _
"beendet?: " & $aData[2] & @CRLF & _
"Erfolgreich?: " & $aData[3] & @CRLF & _
"@error: " & $aData[4] & @CRLF & _
"@extended: " & $aData[5] & @CRLF & @CRLF & _
"KiloBytes/sec:" & $nKBPerSec)
Func _CalcPerformance($iRead, $bDone)
[/autoit] [autoit][/autoit] [autoit]$tDiff = TimerDiff($tStart)
$iToDo = Round(($iSize - $iRead) / 1024, 2)
$nKBPerSec = Round($iRead / $tDiff * 1000 / 1024, 2)
$iPercent = Round($iRead / $iSize * 100, 2)
if ($iSize = 0) And Not $bDone Then
$iRTime = "unbekannt"
Else
$iRTime = Round($iToDo / $nKBPerSec, 0)
EndIf
$sMSG = Round($iRead / 1024) & "/" & Round($iSize / 1024, 0) & " KB " & " = " & $iPercent & "%" & @CRLF
$sMSG &= "durchschnittlich KB/s = " & $nKBPerSec & @CRLF ;& "aktuell: KB/s " & $nKBAct & @CRLF
If Not $bDone Then
$sMSG = $sMSG & "vermutlich zu Ende:" & StringLeft(StringRight(_DateAdd('s', $iRTime, _NowCalc()), 8), 5)
;ConsoleWrite($sMSG & @CRLF)
Else
$sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 0)
EndIf
;if $iSize > 0 Then $sMSG = $sMSG & " sec"
EndFunc ;==>_CalcPerformance
Das Skript lädt die Deutsche Hilfe herunter, vielleicht blätterst du ja auch mal darin,
mfg autoBert
Kapiere ich irgendwie net kann mir wer ein Beispiel script machen?
diese Mühe haben sich schon die Ersteller der Hilfe gemacht. Hier das leicht abgeänderte Beispiel:
#include <FTPEx.au3>
$server = 'ftp.csx.cam.ac.uk'
$username = ''
$pass = ''
$Open = _FTP_Open('MyFTP Control')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
$aFile = _FTP_ListToArray($Conn, 2)
ConsoleWrite('$NbFound = ' & $aFile[0] & ' -> Error code: ' & @error & @crlf)
for $i = 1 to $aFile[0]
ConsoleWrite('$Filename = ' & $aFile[$i] & @crlf)
Next
$Ftpc = _FTP_Close($Open)
mfg autoBert
Die 1 Checkbox stellt dar, ob der Hotkey F1-F12 nun aktiviert ist.
Die F12-Taste kann über HotKeySet nicht belegt werden, denn
Zitat von Hilfe z HotkeySetFolgende HotKeys können nicht genutzt werden:
Strg+Alt+Entf Reserviert von Windows selbst
F12 Ebenfalls durch Windows reserviert (API)
....
....
PS.: für welches Forum soll den dieses SPAM-Skript sein?
mfg autoBert
Ja, mach doch zwingt dich doch niemand Arrays zu nehmen, ist aber einfacher und spart Tipparbeit,
mfg autoBert
Damit ist aber noch nicht beantwortet für was hinterjedem Input 2 Checkboxen sind,
mfg autoBert
Hallo MasterOfTime,
du musst den Stil $WS_POPUP und den erweiterten Stil $WS_EX_CONTROLPARENT beim erestellen der GUI verwenden. Hilfreich ist auch der erweiterte Stil $GUI_WS_EX_PARENTDRAG beim erstellen von Labels auf der GUI, da daurch auch innerhalb des/der Labels die GUI angefasst und verschoben werden kann. Hier ein Beispiel:
mfg autoBert