Die Frage ist doch eher, was hältst du davon? Du mußt doch damit arbeiten und es muß in dein Gesamtkonzept passen.
Bekanntlich führen viele Wege nach Rom und jeder hier würde irgendwo eine andere Gasse nehmen. ![]()
Lerne strukturiert zu arbeiten. Das spart viel Zeit und Probiererei. Jede Arbeit sollte mit einem Konzept beginnen. Zumindest solltest du dieses vor deinem geistigen Auge haben. Planlos mal hier, mal da zu frickeln führt zu nix. ![]()
Beiträge von BugFix
-
-
und damit hat alles 25% und er macht alles immer wann er es fertig hat oder am ende dann 25% mehr dazu?
da ändert er doch dann einfach am ende allesauf 25% oder gibt es nicht ne möglich keit das er wie bei einer installation immer mit geht um so mehr er hat und nicht immer so springt?
JEDES Sleep erstezen! Einmal setzt du 25, nach dem zweiten 50,...nach dem vierten und letzten 100.
Pure Mathematik
-
Bei FileInstall darf als Quelle KEINE Variable oder Makro verwendet werden! Dort muß immer ein Pfad als String eingefügt werden.
Oder du nutzt dieses: Fremddateien "includen" (ohne FileInstall)
Da kannst du sowohl Makros als auch Variablen verwenden. -
Schmeiß deine Sleep(500) raus - sind eh unsinnig - und füge dort einfach
[autoit]GuiCtrlSetData($progress, 25) ; bzw. 50, 75, 100
[/autoit]ein.
-
Ich wiederhole es nochmal: Mach dich mal mit den TreeView-Funktionen vertraut.
Lies dir die Befehle in der Hilfe durch, da steht dabei, was sie tun.
Parent - da bekommst du die nächst höhere Ebene, Child - die nächst tiefere, Sibling sind Geschwister - also gleiche Ebene.Ich vermute eher, dass du gar keinen Plan hast, wie du vorgehen sollst.
Für diesen Fall gilt: Pseudo Code
Also Aufschreiben, wie du es per Hand/Auge machen würdest.
z.B.
- gucke was geklickt ist
- ist dort die Info, die ich brauche?
- Ja -> OK
- Nein -> gucke eine Ebene höher
usw. usf.Und ERST DANN daraus den Code erstellen.
-
Alles was du willst, läßt sich mit StdInWrite, StdoutRead erledigen.
-
Mach dich mal mit den TreeView-Funktionen vertraut.
Wenn du im angeklickten Item nicht die gewünschte Info findest,laß dir das Parent zurückgeben, das muß ja dann: Forms, filemon oder cisco sein. Und schon weißt du dein Ziel. -
consolewrite = C:\backupordner\29.09.2009\filemon
Funktioniert aber jetzt kriege ich die die verknüfung nicht zur ini hin also an die Quelle??
[Quelle-Ziele]
C:\filemon=C:\backupordner\29.09.2009
C:\cisco=C:\backupordner\29.09.2009
C:\Forms=C:\backupordner\29.09.2009Na, klingelts? Du brauchst nur vom ausgelesenen Backupordner den Teil nach dem letzten Backslash selektieren (filemon) fügst davor einfach 'C:\' an und fertig ist die Laube.
-
schön wäre wenn ich vor dem senden der Tastenkombination auf den richtigen Task wechseln könnte falls dieser nicht aktiv ist
Beende den Process nicht mit Send-Befehl (immer eine unschöne Sache), sondern kill ihn.
ProcessClose ( "process") -
Hab auch eine gaaanz einfache Möglichkeit.

Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)$Form1 = GUICreate("Form1", 377, 275, 192, 114)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "Right_click")
$Button1 = GUICtrlCreateButton("Button1", 32, 24, 81, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Button2", 32, 64, 81, 25, $WS_GROUP)
$Input1 = GUICtrlCreateInput("Input1", 136, 24, 137, 21)
$Input2 = GUICtrlCreateInput("Input2", 136, 64, 137, 21)
$Label1 = GUICtrlCreateLabel("Label1", 296, 24, 36, 17)
$Label2 = GUICtrlCreateLabel("Label2", 296, 64, 36, 17)
$ListView1 = GUICtrlCreateListView("Sp. 1|Sp. 2|Sp. 3", 32, 104, 305, 113)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEnd#cs Im GUIGetMsg-Mode:
[/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Form1Close()
Case $GUI_EVENT_SECONDARYDOWN
Right_click()
EndSwitch
WEnd
#ceFunc Form1Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc Right_click()
[/autoit]
$cursor = GUIGetCursorInfo($Form1)
ConsoleWrite('Rechtsklick auf Control' & @LF & 'ID: ' & $cursor[4] & @LF & _
'Text: ' & ControlGetText($Form1, '', $cursor[4]) & @CRLF)
EndFunc -
Vermutlich ist es dann besser nicht Zelle für Zelle auszulesen, sondern alles in ein Array einzufügen und dann dieses abzuarbeiten.
Dazu bietet die Excel-UDF _ExcelReadSheetToArray($oExcel) an. Allerdings ist diese Funktion nicht für das Deutsche Excel geeignet (Notation R1C1 statt Z1S1). Deshalb mußt du eine kleine Änderung vornehmen. Habe im Code beschrieben, wie es geht.Spoiler anzeigen
[autoit]; Das Excel-Include ist fehlerhaft. Gehe in Scite mit dem Cursor auf #include <Excel.au3> und drücke: ALT+i
[/autoit] [autoit][/autoit] [autoit]
; Ändere im Include ab Zeile 780 auf Deutsche Notation:
;##############################################################################################################
; Extract integer last row and col
Local $iLastRow = StringInStr($sLastCell, "Z");"R") <== Z statt R
Local $iLastColumn = StringInStr($sLastCell, "S");"C") <== S statt C
$iLastRow = Number(StringMid($sLastCell, $iLastRow + 1, $iLastColumn - $iLastRow - 1))
$iLastColumn = Number(StringMid($sLastCell, $iLastColumn + 1)); Return 0's if the sheet is blank
[/autoit] [autoit][/autoit] [autoit]
;~ If $sLastCell = "R1C1" And $oExcel.Activesheet.Cells($iLastRow, $iLastColumn).Value = "" Then Return $avRET
If $sLastCell = "Z1S1" And $oExcel.Activesheet.Cells($iLastRow, $iLastColumn).Value = "" Then Return $avRET
;##############################################################################################################
; Beim Speichern wirst du aufgefordert einen Neuen Dateinamen zu vergeben (Excel_DE.au3)#include <Excel_DE.au3> ; <== auf Deutsche Notation geändertes Include
[/autoit] [autoit][/autoit] [autoit]Local $sFilePath = @MyDocumentsDir & '\test.xls'
[/autoit] [autoit][/autoit] [autoit]
Local $oExcel = _ExcelBookOpen($sFilePath, 0); Tabelle in Array lesen
[/autoit] [autoit][/autoit] [autoit]
Local $arSheet = _ExcelReadSheetToArray($oExcel)
If Not IsArray($arSheet) Then
$oExcel.Quit
Exit MsgBox(0, 'Fehler', 'Tabelle konnte nicht gelesen werden.')
Else
If $arSheet[0][0] = 0 And $arSheet[0][1] = 0 Then
$oExcel.Quit
Exit MsgBox(0, 'Fehler', 'Tabelle enthält keine Daten.')
EndIf; Arrayinhalt verarbeiten
[/autoit]
For $i = 1 To UBound($arSheet) -1
For $j = 1 To UBound($arSheet, 2) -1
; Verarbeiten: $arSheet[$i][$j]
Next
Next
$oExcel.Quit -
Also einen einfachen Datei-Explorer.
Hatte ich vor Urzeiten mal gemacht.
Inklusive Doppelklick zum Ausführen der Dateien und Kontextmenü (Ausführen, Kopieren, Einfügen, Umbenennen, Löschen).Spoiler anzeigen
[autoit]#include<GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<ListBoxConstants.au3>
#include<WindowsConstants.au3>
#include <GuiListBox.au3>
#include <File.au3>Global $aFile, $aFolder, $aPath[1] = [@HomeDrive & '\'], $currPath, $sUp = '[ EBENE HÖHER ]'
[/autoit] [autoit][/autoit] [autoit]
Global $Safed = '[SHOC]' ; mit diesen Attributen gesperrt für: Ausführen, Umbenennen, Löschen$GUI = GUICreate("Simple Explorer",400,300)
[/autoit] [autoit][/autoit] [autoit]
$label = GUICtrlCreateLabel('', 5, 5, 390, 53)
$List = GUICtrlCreateList( '', 2, 65, 396, 230, BitOR($WS_HSCROLL, $WS_VSCROLL, $WS_BORDER))
$hList = GUICtrlGetHandle($List)
$menu = GUICtrlCreateContextMenu($List)
$itemRun = GUICtrlCreateMenuItem('Ausführen', $menu)
$itemShape = GUICtrlCreateMenuItem('', $menu)
$itemCopy = GUICtrlCreateMenuItem('Kopieren', $menu)
$itemPaste = GUICtrlCreateMenuItem('Einfügen', $menu)
GUICtrlSetState(-1, $GUI_DISABLE)
$itemRen = GUICtrlCreateMenuItem('Umbenennen', $menu)
$itemShape = GUICtrlCreateMenuItem('', $menu)
$itemDel = GUICtrlCreateMenuItem('Löschen', $menu)
GUISetState(@SW_SHOW)GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
[/autoit] [autoit][/autoit] [autoit]_WriteList($aPath[0])
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $itemRun
_RunFile()
Case $itemCopy
_CopyFile()
Case $itemPaste
_PasteFile()
Case $itemRen
_RenFile()
Case $itemDel
_DelFile()
EndSwitch
WendFunc _WriteList($PATH)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListBox_ResetContent($hList) ; alte Inhalte löschen
$aFolder = _FileListToArray($PATH, '*', 2)
$aFile = _FileListToArray($PATH, '*', 1)
If UBound($aPath) > 1 Then _GUICtrlListBox_AddString($hList, $sUp)
If IsArray($aFolder) Then
_GUICtrlListBox_AddString($hList, '--------------- ORDNER ---------------')
For $i = 1 To UBound($aFolder) -1
_GUICtrlListBox_AddString($hList, $aFolder[$i])
Next
EndIf
If IsArray($aFile) Then
_GUICtrlListBox_AddString($hList, '--------------- DATEIEN ---------------')
For $i = 1 To UBound($aFile) -1
_GUICtrlListBox_AddString($hList, $aFile[$i])
Next
EndIf
GUICtrlSetData($label, $PATH)
EndFuncFunc _ListDblClick()
[/autoit] [autoit][/autoit] [autoit]
Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
Local $tmpPath = ''
If $str = $sUp Then
ReDim $aPath[UBound($aPath)-1]
$currPath = $aPath[UBound($aPath)-1]
_WriteList($currPath)
Else
$currPath = $aPath[UBound($aPath)-1] & $str & '\' ; neuer Pfad = letzter Pfad + geklickter Pfad
If Not StringRegExp(FileGetAttrib($currPath), 'D') Then ; ist es kein Ordner ?
_RunFile()
Else
ReDim $aPath[UBound($aPath)+1]
$aPath[UBound($aPath)-1] = $currPath ; neuen Pfad hinzufügen
_WriteList($currPath)
EndIf
EndIf
EndFuncFunc _RunFile()
[/autoit] [autoit][/autoit] [autoit]
Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $str = '' Then Return
Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
If StringRegExp($attrib, $Safed) Then Return MsgBox(0, 'Geschützt!', $str & ' - Attribut: ' & $attrib)
ShellExecuteWait($aPath[UBound($aPath)-1] & $str)
EndFuncFunc _CopyFile()
[/autoit] [autoit][/autoit] [autoit]
Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $str = '' Then Return
Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
If StringRegExp($attrib, 'D') Then Return MsgBox(0, 'Achtung', $str & ' ist keine Datei')
ClipPut($aPath[UBound($aPath)-1] & $str)
GUICtrlSetState($itemPaste, $GUI_ENABLE)
EndFuncFunc _PasteFile()
[/autoit] [autoit][/autoit] [autoit]
Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $str = '' Then Return
Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
If Not StringRegExp($attrib, 'D') Then Return MsgBox(0, 'Achtung', $str & ' - ist kein Ordner')
Local $tmp = ClipGet(), $pos = StringInStr($tmp, '\', -1)
Local $file = StringRight($tmp, StringLen($tmp)-$pos)
If FileExists($aPath[UBound($aPath)-1] & $str & '\' & $file) Then $file = 'Kopie von ' & $file
FileCopy($tmp, $aPath[UBound($aPath)-1] & $str & '\' & $file)
_WriteList($aPath[UBound($aPath)-1])
GUICtrlSetState($itemPaste, $GUI_DISABLE)
EndFuncFunc _RenFile()
[/autoit] [autoit][/autoit] [autoit]
Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $str = '' Then Return
Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
If StringRegExp($attrib, $Safed) Then Return MsgBox(0, 'Geschützt!', $str & ' - Attribut: ' & $attrib)
Local $tmp = InputBox('Umbenennen', 'Neuer Name:' & @LF & @LF & $aPath[UBound($aPath)-1], $str)
If $tmp <> '' Then FileMove($aPath[UBound($aPath)-1] & $str, $aPath[UBound($aPath)-1] & $tmp)
_WriteList($aPath[UBound($aPath)-1])
EndFuncFunc _DelFile()
[/autoit] [autoit][/autoit] [autoit]
Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $str = '' Then Return
Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
If StringRegExp($attrib, $Safed) Then Return MsgBox(0, 'Geschützt!', $str & ' - Attribut: ' & $attrib)
FileDelete($aPath[UBound($aPath)-1] & $str)
_WriteList($aPath[UBound($aPath)-1])
EndFuncFunc WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
If Not IsHWnd($hList) Then $hWndListBox = GUICtrlGetHandle($hList)
$hWndFrom = $ilParam
$iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
$iCode = BitShift($iwParam, 16) ; Hi Word
Switch $hWndFrom
Case $hList, $hWndListBox
Switch $iCode
Case $LBN_DBLCLK ; Sent when the user double-clicks a string in a list box
_ListDblClick()
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMANDOder meinst du evtl. einfach nur: FileOpenDialog() ?
-
Du kannst INIWriteSection zum Schreiben und INIReadSection zum Auslesen nutzen. Dabei werden Die Daten als Array übergeben.
-
Zitat von Auszug Parameterbeschreibung WinAPI
SPI_SETWORKAREA
Sets the size of the work area. The work area is the portion of the screen not obscured by the taskbar. The pvParam parameter must point to the RECT structure that contains the coordinates of the work area. -
Ich verstehe nicht den Sinn, warum du den ganzen PDF-Kram abfragst. Du mußt doch sowieso auf das PDF-Dokument wechseln, um zu kopieren. Also welchen Sinn hat es dann vom Skript prüfen zu lassen ob das PDF offen ist?
Automatisieren ist schön und gut, aber du baust dir hier Fallen.
Verwende doch ausschließlich mein Bsp., wie von mir beschrieben. Evtl. noch mit 'nem Fileopen-Dialog vornweg. Das funktioniert problemlos.Der Fehler ist derselbe. Kein Excelobjekt. Nur kann ich dazu wenig sagen, was weiß ich, wann du _copy() aufrufst.
[autoit]
Aber kopier mal diese Zeile:$oExcel = ObjGet("", "Excel.Application")
[/autoit]
zusätzlich nach Zeile 69. Das könnte evtl. helfen. -
Ich hab dein Skript erst mal lesbar gestaltet und ein paar Verbesserungen vorgenommen. Es läßt sich aber noch viel mehr machen, aber ich will dir ja nicht die Arbeit wegnehmen.

Der Fehler kam, weil noch nicht auf die geöffnete Excelinstanz referenziert war. Du mußt das Objekt direkt nach dem Aufruf der Exceldatei erstellen.
Habe das jetzt mal getan. Besser wäre eigentlich, die Datei über das Excelobjekt aufzurufen. Aber so sollte es zumindest schon mal gehen.
Achja, ein Tipp noch: gewöhn dir Leerzeilen ab. Damit nimmst du jede Übersichtlichkeit aus deinem Code. Nur Einsetzen zum deutlichen Trennen von logischen Einheiten.Spoiler anzeigen
[autoit]Opt("SendKeyDelay", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("WinWaitDelay", 1)
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)
Opt("TrayMenuMode",1)
Opt("TrayOnEventMode", 1)#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Excel.au3>Global $oExcel
[/autoit] [autoit][/autoit] [autoit];---------------TRAYMENU-----------------------------
[/autoit] [autoit][/autoit] [autoit]
$settingsitem = TrayCreateMenu("Settings")
$abouttray = TrayCreateItem("About")
TrayItemSetOnEvent ($abouttray, "ABOUT")
$shortcut = TrayCreateItem("Set Shortcut", $settingsitem)
TrayItemSetOnEvent ($shortcut, "SETTINGS")
$exititem = TrayCreateItem("Exit")
TrayItemSetOnEvent ($exititem, "CLOSEClicked")
TraySetIcon("RegisCopyScript.exe")
TrayTip ( "Reg-IS CopyScript", "gestartet", "5")
TraySetToolTip ("Reg-IS CopyScript")
;----------------------------------------------------
Global $SettingsGUI = GUICreate("Shortcut", 180, 160, 193, 128)
GUISetIcon("E:\REG-IS Archiv\_REG_IS 20090419\Favicon.ico")
GUISetOnEvent($GUI_EVENT_CLOSE, "Hide")
$CloseSet = GUICtrlCreateButton("Close", 40, 120, 97, 25, 0)
GUICtrlSetOnEvent($CloseSet, "Hide")
$SET = GUICtrlCreateButton("Set", 40, 90, 97, 25, 0)
GUICtrlSetOnEvent($SET, "SET")
; $ABOUT = GUICtrlCreateButton("About", 40, 150, 97, 25, 0)
; GUICtrlSetOnEvent ($ABOUT, "ABOUT")
Global $Input1 = GUICtrlCreateInput("", 75, 16, 33, 21)
$Label1 = GUICtrlCreateLabel("alt = !", 30, 48, 30, 17)
$Label2 = GUICtrlCreateLabel("shift = +", 30, 65, 41, 17)
$Label3 = GUICtrlCreateLabel("strg = ^", 90, 48, 39, 17)
$Label4 = GUICtrlCreateLabel("{F1} - {12}", 90, 65, 53, 17)
;------------------SHORTCUTSETTINGS------------------Func SETTINGS ()
[/autoit] [autoit][/autoit] [autoit]
#Region ### START Koda GUI section ### Form=GUISetState(@SW_SHOW, $SettingsGUI)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###
EndFuncFunc SET ()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$key = GUICtrlRead ( $Input1 )
if $key = "" Then
MsgBox ( 48, "Fehler", "Bitte legen sie eine Tastenkombination fest!")
Else
MsgBox ( 64, "Meldung", "Tastenkombination wurde gesetzt" )
if winExists ("[CLASS:AcrobatSDIWindow]", "") = 1 Then
GUISetState(@SW_MINIMIZE)
WinActivate ("[CLASS:AcrobatSDIWindow]", "")
WinWaitActive ("[CLASS:AcrobatSDIWindow]", "")
Else
if MsgBox (36, "Es ist kein PDF-File geöffnet!", "Wollen sie jetzt eine Quellpdf öffnen?") = 6 Then
GUISetState(@SW_MINIMIZE)
$pdfdir = FileOpenDialog("PDF öffnen", "", "Adobe PDF Files (*.pdf)")
ShellExecute ($pdfdir)
EndIf
EndIf
if WinExists ("[TITLE:Microsoft Excel]", "") Then
GUISetState(@SW_MINIMIZE)
WinActivate ("[CLASS:XLMAIN]", "")
WinWaitActive ("[CLASS:XLMAIN]", "")
Else
if MsgBox (36, "Es ist kein Excel Tabelle geöffnet!", "Wollen sie jetzt eine Tabelle öffnen?") = 6 Then
GUISetState(@SW_MINIMIZE)
$xlsdir = FileOpenDialog("XLS öffnen", "", "Excel-Datein (*.xls;*.xlsx)")
ShellExecute ($xlsdir)
$oExcel = ObjGet("", "Excel.Application")
EndIf
EndIf
EndIf
HotKeySet ( $key, "_copy")
EndFuncWhile True
[/autoit] [autoit][/autoit] [autoit]
Sleep (100)
WEndFunc _copy ()
[/autoit] [autoit][/autoit] [autoit]
Send('^c')
$oExcel.ActiveCell.Value = StringRegExpReplace(ClipGet(), @CRLF, ' ')
$oExcel.ActiveCell.Offset(1, 0).Select
EndFunc
Func ABOUT ()
MsgBox ( 64, "about:", "Scriped by Daniel Glauche ([email='d.glauche@gmx.de'][/email])")
EndFunc
Func Hide ()
GUISetState (@SW_HIDE)
EndFuncFunc CLOSEClicked ()
[/autoit]
if MsgBox (36, "RegisCopyScript", "Wollen sie das Exceldokument speichern?") = 6 Then
_ExcelBookSave($oExcel, $fAlerts = 0)
Exit
EndIf
EndFunc -
-
Das Problem habe ich an meinem Laptop oft, weil das Touchpad kein wirklicher Mausersatz ist und ein Antippen als MOUSEDOWN erkannt wird, aber das MOUSEUP wird nicht immer erkannt. Somit hast du den Effekt, als ob du mit gedrückter Maustaste über den Text fährst ==> er wird markiert.
-
Ja, damit geht es:
[autoit]#include <winapi.au3>
[/autoit][autoit][/autoit][autoit]Const $SPI_SETWORKAREA = 47
[/autoit][autoit][/autoit][autoit]
Const $SPIF_SENDCHANGE = 2$tRECT = DllStructCreate('int;int;int;int')
[/autoit]
DllStructSetData($tRECT, 1, 0) ; left
DllStructSetData($tRECT, 2, 0) ; top
DllStructSetData($tRECT, 3, 1024) ; right
DllStructSetData($tRECT, 4, 768) ; buttom
_WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)
Edit:
Einen Nachsatz noch dazu. Das Begrenzen der Arbeitsfläche heißt natürlich auch, dass die Icons auf dem Desktop bei Veränderung des Bereiches gegebenenfalls verschoben werden.Edit peethebee [Tags für Foren-/Google-Suche]: Desktop verkleinern, einschränken, Sidebar, Seitenleiste, Vollbild verkleinern
-
[autoit]
Local $array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
[/autoit][autoit][/autoit][autoit]
Local $sOut = ''For $i = 1 To UBound ( $array_Inis )-1
[/autoit][autoit][/autoit][autoit]
$aSec = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
For $j = 1 To UBound($aSec) -1
$entry = $aSec[$j][0] & '=' & $aSec[$j][1] ; Key und Value zusammensetzen, wie in der INI
$date = StringRegExp($entry, '\d{2}\.\d{2}\.\d{4}', 1)
$date = $date[0] & '|'
$local = StringLeft($entry, StringInStr($entry, '=')-1) & '|'
$server = StringRegExp($entry, '(\\\\\w+\\)(\w+\\)+', 2)
$server = $server[0]
$string = $date & $local & $server
$sOut &= $string & @CRLF
Next
Next
ConsoleWrite($sOut & @CRLF); Da du alles aus der INI liest:
[/autoit][autoit][/autoit][autoit]
; [Quelle-Ziele]
; c:\0rdner1=\\server\share\28.09.2009\ordner1; geht es aber auch so:
[/autoit][autoit][/autoit][autoit]
Local $array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
Local $sOut = ''For $i = 1 To UBound ( $array_Inis )-1
[/autoit]
$aSec = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
For $j = 1 To UBound($aSec) -1
$date = StringRegExp($aSec[$j][1], '\d{2}\.\d{2}\.\d{4}', 1)
$date = $date[0] & '|'
$local = $aSec[$j][0] & '|'
$server = StringRegExp($aSec[$j][1], '(\\\\\w+\\)(\w+\\)+', 2)
$server = $server[0]
$string = $date & $local & $server
$sOut &= $string & @CRLF
Next
Next
ConsoleWrite($sOut & @CRLF)P.S. Gewöhn dir mal an Tidy zu verwenden, wenn du schon beim Coden nicht aufs Einrücken achtest.
