1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BugFix

Beiträge von BugFix

  • Standard-Editor notepad ersetzen

    • BugFix
    • 11. November 2007 um 23:54

    Hi,
    kaum einer nutzt wohl den eher funktionslosen, windowseigenen Editor notepad. Zu viele schöne Alternativen gibt es da.

    Mit folgendem Programm könnt ihr jeden beliebigen Editor als Ersatz für Notepad festlegen. Alle internen Notepadaufrufe landen dann bei dem Editor eurer Wahl.
    Voraussetzung:
    Euer Editor ist eine EXE (jEdit fällt also aus) und ruft die Dateien in der Form "EDITOR.EXE %1" auf.

    Wie gehts?
    Es gibt die Launcher-Datei (notepad.au3), die als "notepad.exe" kompiliert werden muß. Sie ersetzt das Original und stellt den Kontakt zu eurem Editor her.

    Die zweite Datei (AlternateNotepad.au3) dient zur Installation, Deinstallation des Launchers und zum Einrichten oder Wechseln des Alternativen Editors.
    Dazu wird ein Reg-Schlüssel angelegt, der auf die Alternative verweist.
    Die Original Notepad-Datei wird gesichert.

    Kompiliert die Datei als "AlternateNotepad.EXE" und ruft sie wie folgt auf:
    "AlternateNotepad.EXE" Installiert Launcher, setzt Alternativen Editor
    "AlternateNotepad.EXE /e" Wechselt den Alternativen Editor
    "AlternateNotepad.EXE /b" Rollback - stellt Originalzustand wieder her

    Getestet habe ich es mit "Notepad++", "Notepad2" und "SciTE".

    EDIT:
    Eine Änderung am Launcher.
    Ich hatte nicht berücksichtigt, dass im Editorpfad Leerzeichen enthalten sein können. Ist jetzt gefixt.

    Launcher:

    Spoiler anzeigen
    [autoit]

    ; Launcher für alternativen Editor statt Notepad (ersetzt notepad.exe)

    [/autoit] [autoit][/autoit] [autoit]

    Dim $FullEditorPath = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'FullPath')
    Dim $Line = ''
    If $CmdLine[0] > 0 Then
    For $i = 1 To $CmdLine[0]
    If $i = 1 Then
    $Line &= $CmdLine[$i]
    Else
    $Line &= ' ' & $CmdLine[$i]
    EndIf
    Next
    Run( '"' & $FullEditorPath & '" "' & $Line & '"' )
    Else
    Run( '"' & $FullEditorPath & '"' )
    EndIf

    [/autoit]

    AlternateNotepad:

    Spoiler anzeigen
    [autoit]

    ; Installation/DeInstallation Launcher für Notepad Ersatz

    [/autoit] [autoit][/autoit] [autoit]

    Global $arDest[4] = [ _
    @WindowsDir & '\servicepackfiles\i386\', _
    @WindowsDir & '\system32\dllcache\', _
    @WindowsDir & '\system32\', _
    @WindowsDir & '\']
    Global $start = 0
    If Not FileExists(@WindowsDir & '\servicepackfiles\i386\notepad.exe') Then $start = 1

    If $CmdLine[0] > 0 Then
    Switch $CmdLine[1]
    Case "/b"
    _RollBack() ; Schalter '/b' für: RollBack (Originalzustand)
    Case "/e"
    _SetAlternate(False) ; Schalter '/e' für: nur neuer Editor
    EndSwitch
    Else
    _SetAlternate(True)
    EndIf

    Func _SetAlternate($FULL=True)
    Dim $alternateEditorPath = ''
    If $FULL Then
    Dim $source = ''
    Do
    $source = FileOpenDialog("Pfad der Launcher Datei auswählen", @ScriptDir, "(*.exe)")
    If $source = '' Then
    If MsgBox(262180, 'Keine Datei ausgewählt', 'Wollen Sie nochmals wählen?') = 7 Then Exit
    EndIf
    Until $source <> ''
    FileCopy(@WindowsDir & '\notepad.exe', @WindowsDir & '\notepad.exe.org') ; Sicherheitskopie Original
    Local $sourceFile = StringTrimLeft($source, StringInStr($source, '\', 1, -1))
    For $i = $start To UBound($arDest) -1
    If FileCopy($source, $arDest[$i] & $sourceFile, 1) = 0 Then
    MsgBox(262160, 'Kopierfehler', 'Die Launcher Datei konnte nicht in den Pfad:' & @LF & _
    $arDest[$i] & @LF & @LF & _
    'kopiert werden. Bitte das Programm mit dem "Rollback-Parameter /b" aufrufen.' )
    Exit
    EndIf
    Next
    EndIf
    Do
    $alternateEditorPath = FileOpenDialog("Pfad des alternativen Editors auswählen", @HomeDrive, "(*.exe)")
    If $alternateEditorPath = '' Then
    If MsgBox(262180, 'Keine Datei ausgewählt', 'Wollen Sie nochmals wählen?') = 7 Then Exit
    EndIf
    Until $alternateEditorPath <> ''
    If RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'FullPath', "REG_SZ", $alternateEditorPath) = 0 Then
    MsgBox(262160, 'Registryfehler', 'Der Schlüssel:' & @LF & _
    'HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor, FullPath, REG_SZ, ' & $alternateEditorPath & @LF & _
    'konnte nicht in die Registry geschrieben werden.' & @LF & _
    'Bitte das Programm mit dem "Rollback-Parameter /b" aufrufen.' )
    Exit
    Else
    MsgBox(262208, 'Erfolg', 'Alle Einträge wurden erfolgreich ausgeführt.')
    EndIf
    EndFunc ;==>_SetAlternate

    [/autoit] [autoit][/autoit] [autoit]

    Func _RollBack()
    If Not FileExists(@WindowsDir & '\notepad.exe.org') Then
    MsgBox(262160, 'Dateifehler', 'Die Sicherung der Originaldatei:' & @LF & _
    @WindowsDir & '\notepad.exe.org' & @LF & _
    'ist nicht vorhanden!' & @LF & _
    'Eine Wiederherstellung ohne diese Datei ist nicht möglich!')
    Exit
    EndIf
    For $i = $start To UBound($arDest) -1
    If FileCopy(@WindowsDir & '\notepad.exe.org', $arDest[$i] & 'notepad.exe', 1) = 0 Then
    MsgBox(262160, 'Kopierfehler', 'Die Original Datei konnte nicht in den Pfad:' & @LF & _
    $arDest[$i] & @LF & _
    'kopiert werden.' & @LF & @LF & _
    'Bitte kopieren Sie die Original "notepad.exe" in GENAU dieser Reihenfolge' & @LF & _
    'in die folgenden Pfade:' & @LF & _
    @WindowsDir & '\servicepackfiles\i386\ (sofern vorhanden)' & @LF & _
    @WindowsDir & '\system32\dllcache\' & @LF & _
    @WindowsDir & '\system32\' & @LF & _
    @WindowsDir & '\')
    Exit
    EndIf
    Next
    RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor')
    MsgBox(262208, 'Erfolg', 'Der Original Windows-Editor "notepad"' & @LF & _
    'ist ab sofort wieder Standardeditor.')
    EndFunc ;==>_RollBack

    [/autoit]

    Edit2:

    Ich habe jetzt noch ein Variante mit GUI erstellt. Hierbei wird die Launcher-Datei mit in das Skript des Alternate Programms eingebunden.
    Dazu zuerst die Launcher-Datei (notepad.exe) kompilieren und den Quell-Pfad dieser Datei im Skript 'Alter_Notepad.au3' im Funktionsaufruf FileInstall() in Zeile 101 als String eintragen (FileInstall erfordert für die Quellangabe Stringform).
    Jetzt kann 'Alter_Notepad' kompiliert werden und auf jedem PC (Win2k, WinXP) eingesetzt werden.
    Ich habe festgestellt, dass Win2k Pro und WinXP Pro anstandslos das Kopieren der Launcherdatei tolerieren.
    WinXP Home bringt dort eine Sicherheitsabfrage. Aus diesem Grund habe ich nach dem Kopiervorgang eine Schleife, die 6 Sekunden auf das Sicherheitsfenster wartet (das Fenster erschien bei mir nach gut 4 s). Erscheint die Abfrage früher wird sie weggeklickt und das Skript fortgesetzt, erscheint sie nicht, wird das Skript nach 6 s fortgesetzt.

    Alter_Notepad mit GUI:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Opt("GUIOnEventMode", 1)
    Opt("WinTitleMatchMode", 2)

    [/autoit] [autoit][/autoit] [autoit]

    Global $StandarEditorName = 'Microsoft Windows notepad.exe'
    Global $arRadio[3], $InCurrEditor, $LabelSuccess
    Global $alternateEditorPath = ''
    Global $arDest[4] = [ _
    @WindowsDir & '\servicepackfiles\i386\notepad.exe', _
    @WindowsDir & '\system32\dllcache\notepad.exe', _
    @WindowsDir & '\system32\notepad.exe', _
    @WindowsDir & '\notepad.exe']
    Global $start = 0, $RoyalBlue = 0x4169E1, $Orange = 0xFFA500
    If Not FileExists(@WindowsDir & '\servicepackfiles\i386\notepad.exe') Then $start = 1

    [/autoit] [autoit][/autoit] [autoit]

    $GUIAlternateEditor = GUICreate("Standard Editor wechseln (Win2k, WinXP SP2) By BugFix " & _
    "( [email='bugfix@autoit.de'][/email] )", 563, 239, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "GUIAlternateEditorClose")
    GUISetBkColor($RoyalBlue, $GUIAlternateEditor)
    $Group1 = GUICtrlCreateGroup("", 10, 10, 540, 209)
    $arRadio[0] = GUICtrlCreateRadio("Launcher installieren, Editor festlegen", 150, 71, 206, 17)
    $arRadio[1] = GUICtrlCreateRadio("Neuen Editor festlegen", 150, 98, 143, 17)
    $arRadio[2] = GUICtrlCreateRadio("Windows Standard wiederherstellen", 150, 126, 196, 17)
    $BtGo = GUICtrlCreateButton("Ausführen", 465, 123, 70, 20)
    GUICtrlSetOnEvent(-1, '_Go')
    $Label1 = GUICtrlCreateLabel("Aktueller Standard Editor:", 20, 40, 124, 17)
    $InCurrEditor = GUICtrlCreateInput("", 150, 37, 385, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $LabelSuccess = GUICtrlCreateLabel("Bitte Aktion wählen", 150, 174, 385, 23)
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetColor(-1, $Orange)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    If StringLeft(FileGetVersion(@WindowsDir&'\notepad.exe'), 1) = 3 Then
    GUICtrlSetData($InCurrEditor, RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'FullPath'))
    GUICtrlSetState($arRadio[1], $GUI_CHECKED)
    GUICtrlSetState($arRadio[0], $GUI_DISABLE)
    Else
    GUICtrlSetData($InCurrEditor, $StandarEditorName)
    GUICtrlSetState($arRadio[1], $GUI_DISABLE)
    GUICtrlSetState($arRadio[2], $GUI_DISABLE)
    GUICtrlSetState($arRadio[0], $GUI_CHECKED)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func GUIAlternateEditorClose()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Go()
    GUICtrlSetState($BtGo, $GUI_DISABLE)
    GUICtrlSetData($LabelSuccess, '')
    For $i = 0 To 2
    If BitAND(GUICtrlRead($arRadio[$i]), $GUI_CHECKED) Then ExitLoop
    Next
    Switch $i
    Case 0
    _LauncherInstall()
    Local $begin = TimerInit()
    Do
    If WinExists('Windows-Dateischutz') Then
    Send("{ESC}")
    WinWaitActive('Windows-Dateischutz', 'Sie müssen die Dateien')
    Send("!j")
    $begin = 6000
    EndIf
    Sleep(100)
    Until TimerDiff($begin) >= 6000
    GUICtrlSetData($LabelSuccess, '')
    _AlternateSelect()
    GUICtrlSetState($arRadio[0], $GUI_DISABLE)
    GUICtrlSetState($arRadio[1], $GUI_ENABLE)
    GUICtrlSetState($arRadio[2], $GUI_ENABLE)
    GUICtrlSetState($arRadio[1], $GUI_CHECKED)
    Case 1
    _AlternateSelect()
    Case 2
    _RollBack()
    EndSwitch
    GUICtrlSetState($BtGo, $GUI_ENABLE)
    EndFunc ;==>_Go

    [/autoit] [autoit][/autoit] [autoit]

    Func _LauncherInstall()
    RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'OriginalSaved')
    If @error Then
    If FileCopy(@WindowsDir & '\notepad.exe', @WindowsDir & '\notepad.exe.org') = 0 Then ; Sicherheitskopie Original
    MsgBox(262160, 'Kopierfehler', 'Die Sicherheitskopie der "notepad.exe" konnte nicht angelegt werden.')
    Return
    EndIf
    If RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'OriginalSaved', "REG_SZ", 1) = 0 Then
    MsgBox(262160, 'Registryfehler', 'Eintrag in die Registry fehlgeschlagen.')
    Return
    EndIf
    EndIf
    Local $fehler = 0
    For $i = $start To UBound($arDest) -1 ; ####### QUELLPFAD für FileInstall anpassen !!! ########
    If FileInstall("C:\Dokumente und Einstellungen\Standard\Desktop\SCRIPTING\AU3-Scripte\Alternate Notepad\notepad.EXE", _
    $arDest[$i], 1) = 0 Then
    $fehler += 1
    EndIf
    Next
    If $fehler > 0 Then
    GUICtrlSetData($LabelSuccess, 'Fehler bei Installation. Wiederherstellung starten.')
    Return
    EndIf
    GUICtrlSetData($LabelSuccess, 'Installation Launcher erfolgreich. Starte Editorwahl.')
    EndFunc ;==>_LauncherInstall

    [/autoit] [autoit][/autoit] [autoit]

    Func _AlternateSelect()
    GUICtrlSetData($LabelSuccess, '')
    Do
    $alternateEditorPath = FileOpenDialog("Pfad des alternativen Editors auswählen", @HomeDrive, "(*.exe)")
    If $alternateEditorPath = '' Then
    If MsgBox(262180, 'Keine Datei ausgewählt', 'Wollen Sie nochmals wählen?') = 7 Then Return 0
    EndIf
    Until $alternateEditorPath <> ''
    If RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'FullPath', "REG_SZ", $alternateEditorPath) = 0 Then
    GUICtrlSetData($LabelSuccess, 'Auswahl/Registrierung Editor fehlgeschlagen.')
    Else
    GUICtrlSetData($LabelSuccess, 'Alle Vorgänge wurden erfolgreich abgeschlossen.')
    GUICtrlSetData($InCurrEditor, $alternateEditorPath)
    EndIf
    EndFunc ;==>_AlternateSelect

    [/autoit] [autoit][/autoit] [autoit]

    Func _RollBack()
    If Not FileExists(@WindowsDir & '\notepad.exe.org') Then
    MsgBox(262160, 'Dateifehler', 'Die Sicherung der Originaldatei:' & @LF & _
    @WindowsDir & '\notepad.exe.org' & @LF & _
    'ist nicht vorhanden!' & @LF & _
    'Eine Wiederherstellung ohne diese Datei ist nicht möglich!')
    Return
    EndIf
    For $i = $start To UBound($arDest) -1
    If FileCopy(@WindowsDir & '\notepad.exe.org', $arDest[$i], 1) = 0 Then
    MsgBox(262160, 'Kopierfehler', 'Die Original Datei konnte nicht in den Pfad:' & @LF & _
    $arDest[$i] & @LF & _
    'kopiert werden.' & @LF & @LF & _
    'Bitte kopieren Sie die Original "notepad.exe" in GENAU dieser Reihenfolge' & @LF & _
    'in die folgenden Pfade:' & @LF & _
    @WindowsDir & '\servicepackfiles\i386\ (sofern vorhanden)' & @LF & _
    @WindowsDir & '\system32\dllcache\' & @LF & _
    @WindowsDir & '\system32\' & @LF & _
    @WindowsDir & '\')
    GUICtrlSetData($LabelSuccess, 'Fehler bei Wiederherstellung.')
    Return
    EndIf
    Next
    RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\AlternateEditor', 'FullPath')
    GUICtrlSetData($LabelSuccess, 'Wiederherstellung erfolgreich beendet.')
    GUICtrlSetData($InCurrEditor, $StandarEditorName)
    GUICtrlSetState($arRadio[0], $GUI_ENABLE)
    GUICtrlSetState($arRadio[1], $GUI_DISABLE)
    GUICtrlSetState($arRadio[2], $GUI_DISABLE)
    GUICtrlSetState($arRadio[0], $GUI_CHECKED)
    EndFunc ;==>_RollBack

    [/autoit]

    Dateien

    AlternateNotepad.au3 3,46 kB – 471 Downloads notepad.au3 436 Byte – 470 Downloads Alter_Notepad.au3 6,34 kB – 481 Downloads
  • als Dienst installierter Prozeß - wie Priorität ändern?

    • BugFix
    • 11. November 2007 um 13:26

    Danke Buffo, werd ich mal probieren.

  • als Dienst installierter Prozeß - wie Priorität ändern?

    • BugFix
    • 11. November 2007 um 11:37

    Hallo,

    folgendes Problem. Auf unserem Firmenserver ist Firebird als Dienst installiert. Die Prozesspriorität ist aber nur auf normal, was gerade bei Belegdruck zu gewaltigem Performanceeinbruch führt.
    Ich möchte die Priorität nun auf Hoch setzen.
    Bei 'normalen' Prozessen ist das auch recht simpel - TaskManager -->Basispriorität anzeigen lassen -->Prozeß Kontextmenü -->Priorität ändern.
    Da der Prozeß aber als Dienst eingerichtet ist, bekomme ich hier keinen Zugriff, der Vorgang wird verweigert.
    Hat jemand Erfahrung, und weiß wie ich vorgehen muß?

  • Win2000 Server neue CAL hinzufügen?

    • BugFix
    • 7. November 2007 um 09:08

    Hi,

    wir haben in unserer Firma ein Mini-LAN mit Win2000-Server und 5 Clients.
    Das System ist auch für 5 Clients lizensiert.
    Nun muß ich das System erweitern, habe mit viel Mühen auch noch ein 5-er CAL-Pack für Win2k-Server bekommen.
    Nun meine Frage:
    Wie kann ich die CAL aktivieren? Im Lizenzmanager habe ich 5 Pro-Server-Lizenzen hinzugefügt. Er zeigt mir unter Produkte jetzt auch richtig an:
    ProServer erworben: 10
    ProServer verwendet: 5

    Gehe ich aber in der Liste auf das Produkt 'Windows Server' ==> Eigenschaften bekomme ich folgende Info:
    SERVER Erworben: 10 Verwendet: 10
    und der Server wird mit dem Symbol für: 'Lizenz abgelaufen' angezeigt. ?(

    Nur fragt der Lizenzmanager nirgendwo nach dem Lizenzcode. :(
    Ich habe bisher auch keine Möglichkeit gefunden diesen irgendwo einzutragen.

    Ich steh hier etwas im Regen, falls also jemand weiß, wie das geht, ich freu mich über jede Info.

  • Problem mit GuiCtrlRead!!...

    • BugFix
    • 6. November 2007 um 23:23

    Wie pee bereits sagte: schon oft durchgekaut.
    Mit SuFu Stichwort 'checkbox', wärst du auch hier drauf gestoßen:
    mehrere Checkboxen überprüfen

  • strings vergleichen - unterschiede einfärben

    • BugFix
    • 6. November 2007 um 23:15

    Kommt drauf an, wie groß (oder lang) die zu vergleichenden Elemente sind. Wenn es wirklich nur, wie in deinem Bsp. ist, würde ich für jedes Zeichen ein einzelnes Control (am besten Label) anlegen.
    Beide Strings sind ja gleich lang, zerleg sie mit StringSplit() in alle einzelnen Zeichen. Geh beide Arrays durch und vergleiche. Wenn gleich einfach die Zeichen in die Controls schreiben, wenn Unterschied dann beim zweiten Textfarbe setzen.

    Wenn es aber deutlich größer wird, mit RichText arbeiten. Bemüh mal die Suche, war gerade in einem andren Post aktuell.

  • Regwrite hilfe (Neuling)

    • BugFix
    • 5. November 2007 um 20:44

    Und wenn ihr statt:

    [autoit]

    $_array = _ArrayCreate ("wert1","wert2","wert3","alo","deo","leo","tude","lude","adeo","supo","meo","kani")

    [/autoit][autoit]

    $_array[12] = ["wert1","wert2","wert3","alo","deo","leo","tude","lude","adeo","supo","meo","kani"]

    [/autoit]

    schreibt, spart ihr auch das Include. :P

  • code highlighten

    • BugFix
    • 5. November 2007 um 20:39

    Als grobe Anleitung:
    Zeile einlesen, in alle Einzelwörter splitten. Wort für Wort mit deiner Highlight-Liste vergleichen und bei Bedarf formatieren. Zeile wieder zusammensetzen und zurückschreiben.

  • Pflichtlänge

    • BugFix
    • 4. November 2007 um 15:59
    [autoit]

    If StringLen(GUICTRLRead($Input5)) and StringLen(GUICTRLRead($Input1)) and StringLen(GUICTRLRead($Input2)) and StringLen(GUICTRLRead($Input3)) and StringLen(GUICTRLRead($Input4)) = 5 Then

    [/autoit]

    ==> falsch

    Richtig:

    [autoit]

    If StringLen(GUICTRLRead($Input5)) = 5 and _
    StringLen(GUICTRLRead($Input1)) = 5 and _
    StringLen(GUICTRLRead($Input2)) = 5 and _
    StringLen(GUICTRLRead($Input3)) = 5 and _
    StringLen(GUICTRLRead($Input4)) = 5 Then

    [/autoit]
  • Ich hab da ein Problem mit dem Script

    • BugFix
    • 3. November 2007 um 22:37

    Grundsätzliche Anmerkung:

    Wenn du deinen Code gezipt anhängst, sinkt die Wahrscheinlichkeit, dass dir jemand hilft extrem.
    Ich persönlich habe keine Lust Dateien runterzuladen, zu entpacken und dann erst zu sehen, ob ich Helfen kann oder nicht.
    Und das nur, weil du zu faul bist deinen Code zu posten.

  • code highlighten

    • BugFix
    • 3. November 2007 um 17:29

    Schau mal hier: RTF plugin

  • Druckspeicher

    • BugFix
    • 3. November 2007 um 11:44

    Die simpelste aller Lösungen (speziell für Laptop ideal): einen PDF-Drucker installieren, z.B. PDF Creator.

    Das ist auf meinem Laptop der Standarddrucker. Und wenn ich dann die Papierform brauchen sollte, drucke ich per WLAN in meinem Heimnetz auf Netzwerkdrucker oder wenn ich nicht zu Haus bin ziehe ich die Datei auf einen Stick und drucke dann von einem anderen PC.

    Vorteil: Man druckt erst dann auf Papier, wenn es unbedingt sein muß. In 60-70 % der Fälle ist dies nicht der Fall (Bestätigungsschreiben etc.)

  • Shellexecute und _FileListToArray Problem

    • BugFix
    • 1. November 2007 um 09:59

    Hast du schon mal Druckerinstallation über WMI versucht?

    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    $objPrinter = $objWMIService.Get("Win32_Printer").SpawnInstance_
    $objPrinter.DriverName = "HP LaserJet 4000 Series PS"
    $objPrinter.PortName = "IP_169.254.110.160"
    $objPrinter.DeviceID = "ScriptedPrinter"
    $objPrinter.Location = "USA/Redmond/Building 37/Room 114"
    $objPrinter.Network = True
    $objPrinter.Shared = True
    $objPrinter.ShareName = "ScriptedPrinter"
    $objPrinter.Put_

    [/autoit]
  • klick auf button simulieren

    • BugFix
    • 31. Oktober 2007 um 18:04
    [autoit]

    Send("{SHIFTDOWN}{CTRLDOWN}p{CTRLUP}{SHIFTUP}")

    [/autoit]
  • klick auf button simulieren

    • BugFix
    • 31. Oktober 2007 um 17:26

    Also es gibt Controls, auf die kannst du nicht zugreifen. Und das ist nicht mal die Ausnahme.
    AutoIt arbeitet auf Windows Basis und kann entsprechend nur auf Windows-konforme Controls zugreifen.

    Manchmal läßt sich das über ControlClass, ClassName etc. lösen (s. Hilfe).
    Wenn dir das Info Tool aber nichts dergleichen ausgibt, dann kannst du das Control auch nicht ansprechen - Punkt. (außer Mausklick, evtl. Send)

    Zu den Shortcuts verstehe ich nicht, was du eigentlich wissen möchtest.
    Setzen kannst du sie mit: HotKeySet()

  • Shellexecute und _FileListToArray Problem

    • BugFix
    • 31. Oktober 2007 um 17:17

    Ich bin mir jetzt nicht sicher, was du als Ausgabe möchtest.
    Aber ich denke das kannst du jetzt bei Bedarf auch selbst anpassen.

    Spoiler anzeigen
    [autoit]

    Dim $STRING = 'pnomg4pcl an svznps001.lnk'
    Dim $FileName
    Dim $var = StringSplit($STRING, ' an ', 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To UBound($var) -1
    If Not _Gerade($i) Then
    $FileName = $var[$i]
    Else
    $FileName &= $var[$i] ; hier werden beide Teile zusammengefügt
    ConsoleWrite($FileName & @CRLF) ; Ergebnis: pnomg4pclsvznps001.lnk
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Func _Gerade($ZAHL)
    If Mod($ZAHL,2) = 0 Then
    Return True
    Else
    Return False
    EndIf
    EndFunc

    [/autoit]
  • klick auf button simulieren

    • BugFix
    • 31. Oktober 2007 um 16:43

    Warum möchte nur niemand die Hilfe lesen?

    Kapitel: Using AutoIt
    Unterpunkte
    - AutoIt Window Info Tool
    - Window Titles and Text (Basic)
    - Window Titles and Text (Advanced)
    - Controls

  • Shellexecute und _FileListToArray Problem

    • BugFix
    • 31. Oktober 2007 um 16:39
    Zitat

    Original von ManuIt

    Das ist mir zu kompliziert.

    mfg
    Manu

    Naja, manchmal muß man schon ein paar gedankliche Klimmzüge machen.
    Aber wenn jeweils die Arraypositionen [ungerade] und [gerade] beide Teile des Dateinamen enthalten, läßt sich das doch super auswerten.

  • Shellexecute und _FileListToArray Problem

    • BugFix
    • 31. Oktober 2007 um 16:27

    Warum verwendest du nicht das Bsp. von progandy? Damit klappt es fehlerfrei.

  • Vielen Dank.

    • BugFix
    • 31. Oktober 2007 um 16:16

    @Vollnoob

    Du hast einen Beitrag im Forum 'Skripte' erstellt.
    Wenn du dann den Code aus dem Beitrag entfernst, ist das genauso sinnvoll als ob du versuchst einen Drachen ohne Wind steigen zu lassen.
    Welchen Wert sollen denn andere Boardbesucher aus diesem Beitrag jetzt noch schöpfen?

    Also unterlaß das bitte in Zukunft.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™