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. uuchip

Beiträge von uuchip

  • Q: Selbstmodifizierendes Programm möglich?

    • uuchip
    • 9. Juli 2009 um 11:04

    Hallo Zusammen,

    meiner einer hat da mal eine grundsätzliche Frage. Ist es evtl. in AU3 möglich während der Laufzeit code zu erzeugen und diesen dann auszuführen?

    Der Befehl EXECUTE geht schon in diese Richtung ist aber scheinbar auf eine Zeile beschränkt. Die andere Lösung, während der Laufzeit ein neues Skript zu erzeugen und es dann zu starten, erscheint mir zu "unelegant".

    Mit freundlichen Grüßen
    Lutz

  • Q: Benutzerkonto kopieren - Rechte auf Verzeichnisse setten

    • uuchip
    • 14. August 2008 um 08:27

    moin Bugfix,

    das progi sieht für mich aus wie heavy magic :) . Könntest Du evtl. den Unwissenden (ich zähle dazu) kurz erklären wie es funktioniert.

    Es scheint den LDAP Service einzubinden, und dan einen neuen Benutzer anzulegen, oder wird da ein bestehenden Account kopiert???

    Vielen Dank und Gruß
    Lutz

    Zitat von BugFix

    Damit sollte es klappen:

    Spoiler anzeigen
    [autoit]

    Global $ou = 'Computers'
    Global $domain_name = 'musterfirma'
    Global $toplevel = 'de'
    Global $accountNew = 'AccountName'

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

    Global $strAttrib, $strValue
    Global $objCompt = ObjGet("LDAP://cn=" & $ou & ",dc=NA,dc=" & $domain_name & ",dc=" & $toplevel)
    Global $objComptCopy = $objCompt.Create("computer", "cn=" & $accountNew)
    $objComptCopy.Put("sAMAccountName", $accountNew)
    $objComptCopy.SetInfo

    $objComptTemplate = ObjGet("LDAP://cn=" & $accountNew & ",cn=" & $ou & ",dc=NA,dc=" & $domain_name & ",dc=" & $toplevel)
    Global $arrAttributes[2] = ["description", "location"]

    For $strAttrib In $arrAttributes
    $strValue = $objComptTemplate.Get($strAttrib)
    $objComptCopy.Put($strAttrib, $strValue)
    Next

    $objComptCopy.SetInfo

    [/autoit]
    Alles anzeigen
  • Q: Benutzerkonto kopieren - Rechte auf Verzeichnisse setten

    • uuchip
    • 13. August 2008 um 19:58

    Hallo Zusamen,

    vielen Dank für den Tipp. Leider klappt das so nicht, eiderweil wir bei der Vergabe der Accounts 100% sicher sein müssen wer sich da gerade einlogt (Ist eine inderekte Vorgabe des Gesetzgebers, falls mal Sch* gebaut werden sollte, kann man nachweisen wer das gerade war).

    Zur z.Z. gibt es Excel-Listen mit User & Passwd die werden gedruckt und "geschnippselt". Die Schnippsel erhalten die Studenten (1 zu 1).

    Ich hatte mir nun vorgestellt das AutoIt diese Tabellen liest (ist ja kein Problem) und mit den Daten die Accounts anlegt.

    Mal sehen evtl.muss ich doch über das Konsolenprogi gehen.

    tschööö mit ööö
    Lutz

    Zitat von Der_Doc

    Hi,
    ich habe da noch ne andere Lösung gefunden. Auch ohne Autoit. Das macht der Server ganz allein. öhh, vorhin gings doch noch ... na egal: google cache http://209.85.135.104/search?q=cache:6MqgLsiSni0J:[url]www.pcwelt.de/forum/windows-xp-server-2003/193323-lokales-benutzerkonto-kopieren.html+pcwelt+lokales-benutzerkonto-kopieren&hl=de&ct=clnk&cd=1&gl=de

    Spoiler anzeigen


    [quote]Hallo

    Habe für einen Bekannten den Rechner optimiert. (Aussehen, Speicheroptimierung u.s.w.).
    Auf dem Rechner sind 4 Benutzerkonten. Wie kann ich das optimierte Benutzerkonto in die anderen 3 Konten kopieren. Ist dies überhaupt möglich?
    Unter google " Benutzerkonten kopieren" kommt immer nur etwas mit Domäne oder Netzwerk was mich aber auch nicht weiterbringt.
    Gpedit habe ich auch schon angeschaut finde dort aber auch nichts hilfreiches.

    Gruß morungu
    _________________________________________________________________________________________________
    deoroller
    Dazu kann man das Konto "default user" nehmen, das als Vorlage für neue Benutzer dient.

    Das geht so: (alle Arbeiten erfolgen im Verzeichnis "dokumente und einstellungen")
    1. "default user" umbenennen (z.B. in "original vorlage")
    2. vom optimierten Benutzerkonto eine Kopie anfertigen
    3. die Kopie in "default user" umbenennen
    4. neue Benutzer anlegen, wobei diese den untergeschobenen "default user" als Grundlage nehmen.
    5. "default user" löschen und "original-vorlage" wieder in "default user" umbenennen.


    Damit das ganze klappt, muss man den PC vor dem Kopieren neustarten und sich als Admin anmelden, damit keines der beteiligten Konten blockiert ist.

    Vorher bitte die gesammte c:-Partition sichern.
    Ich habe das noch noch nicht selbst so gemacht.

    Alles anzeigen
    Spoiler anzeigen


    //Edit: ist das gleiche wie dein Link[/url]

  • Q: Benutzerkonto kopieren - Rechte auf Verzeichnisse setten

    • uuchip
    • 13. August 2008 um 09:21

    Hallo Zusammen,

    in unserem CAD-Pool werden jedes Semester dutzende "neue" Accounts für unsere Studies benötigt. Bis jetzt werden diese Einträge manuell vorgenommen, evtl. kann man das auch mit AutoIt lösen, drum zwei Fragen:

    1. Gibt es unter Autoit eine elegente Methode ein vordefiniertes Benutzerkonto zu kopieren, d.h. damit einen neuen Nutzer anzulegen?
    2. Wie kann man mit AutoIt Zugriffberechtigungen auf bestimmte Verzeichnisse setzten?

    Etwas schwierig wirde die Sache, weil das Progi unter XP Prof entwickelt werden muss aber auf unserem Win2003 Server laufen soll. D.h. ich kann nicht während der Entwicklung auf das Konsolen Programm von Win2003 zugreifen, möchte es aber auch eigentlich nicht, weil ein simulieren von Tastenanschlägen mit "send" für diesen Fall wohl etwas zu unsicher ist.

    Evtl. gibts es die Möglichkeit den "net user ... " cmd Befehl, wobei mir da noch keine Option zum Kopieren von Konten aufgefallen ist.

    Danke für eure Hilfe. Mit freundlichen Grüßen
    Lutz

  • Einfache Druckerauswahlliste

    • uuchip
    • 6. März 2008 um 15:41

    Moin Moin peethebee,

    Du hast recht, nicht alle Sprachen sind für alle Anwendungen gleich gut geeignet. Bei einer Skriptsprache muss in meinen Augen auch nicht unbedingt OPP eingebaut sein, aber wg. der Übersichtlichkeit wäre sowas wie Records ala Pascal, wenn auch ohne Typdefinition schon recht hilftreich für die einfache Programmierung wo man dann nicht dauernd die indizes der arrays nachhalten muss.
    (Einfache Records kann man sich wie einen Datenverbund vorstellen wie z.B.
    $mensch[1].vorname = "Otto"
    $mensch[1].nachname = "Walkes"
    )

    Achso und ein execute() was mehr als eine Zeile frisst bzw. auch *.au3 files wäre auch vom feinsten.

    Einen schönen Tag wünscht
    Lutz


    Zitat von peethebee

    Konzepte sind meiner Meinung nach nie schlecht weil sie alt sind...
    Konzepte passen für bestimmte Fälle oder sie passen sind. Ich kann mit keiner Sprache so schnell kleine Anwendungen schreiben wie mit AutoIt. Ich kann aber auf der anderen Seite mit AutoIt nie die Komplexität von z.B. Java-Programmen (Stichwort OOP) erreichen.

    Die Kunst ist nur die richtige Sprache (Konzept) für das Problem auszuwählen :).

    peethebee

  • Einfache Druckerauswahlliste

    • uuchip
    • 5. März 2008 um 19:39

    Moin McPoldi,

    vielen dank für das Stück Source. Kann meiner einer gut gebrauchen, ich schmeiss die Ausgabe in eine Combo der Anwender Wählt den Drucker aus und gut is. :)

    tschöö mit öö
    Lutz

    P.S.: Was ich immer scho mal sagen wollte, das Sprachkonzept von Autoit3 ist sagen wir mal so ca. 25 Jahre alt. Sriptsprachen wie Ruby oder Phyton usw. sind in meinen Agen um einiges moderner, ABER die Unterstützung hier ist so gut, dass Autoit meine erste Wahl ist.

    Zitat von McPoldy

    Heute werde ich das wohl nicht mehr schaffen, mein Ansatz wäre gewesen:
    1. Std. Drucker auslesen und merken
    2. Alle vorhandenen Drucker auslesen und in einer DropDown Liste anzeigen (WMI)
    3. Wenn sich die Auswahl ändert, den Std. Drucker neu setzen (auf den ausgewählten)
    4. Drucken so wie du es jetzt auch machst, schätze über diese excel.au3 oder wie die udf heißen mag
    5. Wenn gedruckt/GUI geschlossen, dann Standartdrucker wieder zurück setzen

    vielleicht hat ja jemand noch eine andere Idee oder möchte das mal umsetzen.


    [EDIT]
    Das hier ist mir so spontan noch grade eingefallen:

    Spoiler anzeigen
    [autoit]

    #Include <WinAPI.au3>
    #Include <Array.au3>

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

    Local $arrayPrinter[1]
    Local $stdPrinter = ''
    Local $File = 'c:\boot.ini'

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

    _GetPrinterWMI($arrayPrinter)
    _ArrayDisplay($arrayPrinter)
    _print('c:\boot.ini','Microsoft Office Document Image Writer')

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

    Func _print($datei = $File,$drucker = $stdPrinter)
    _WinAPI_SetDefaultPrinter($drucker)
    RunWait('notepad /p ' & $datei,@TempDir,@SW_HIDE)
    _WinAPI_SetDefaultPrinter($stdPrinter)
    EndFunc

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

    Func _GetPrinterWMI(ByRef $arrayPrinter)
    ReDim $arrayPrinter[1]
    Dim $Obj_WMIService = ObjGet('winmgmts:\\' & @ComputerName & '\root\cimv2')

    If (IsObj($Obj_WMIService)) And (Not @error) Then
    Dim $Col_Items = $Obj_WMIService.ExecQuery('Select * from Win32_Printer')

    Local $Obj_Item
    For $Obj_Item In $Col_Items
    If $Obj_Item.Default = -1 Then
    $stdPrinter = $Obj_Item.DeviceID
    $arrayPrinter[0] = $Obj_Item.DeviceID
    Else
    _ArrayAdd($arrayPrinter,$Obj_Item.DeviceID)
    EndIf
    Next
    EndIf
    EndFunc

    [/autoit]
    Alles anzeigen
  • Einfache Druckerauswahlliste

    • uuchip
    • 5. März 2008 um 15:15
    Zitat von McPoldy

    Sorry, da fällt mir so spontan nix ein, dachte an sowas wie eine DropDown Liste, das wäre wohl auf die schnelle hin zu bekommen, aber den normalen Dialog aufrufen. Es geht mit Sicherheit also lasse ich mal die Profis ran :)

    Wenn es mit einer DropDown funktioniert, warum denn nicht? Wenn Du so freunflich wärst die Lösung zu posten?
    Vielen Dank
    Lutz

    P.S.: Ich dachte sowas wie ein Druckerdialog wäre in Windows bzw. AutoIteingebaut? Über die rundll32 printui.dll,PrintUIEntry usw. einen Wolf zu programmieren wäre wohl die zweitbeste Lösung ;)

  • Einfache Druckerauswahlliste

    • uuchip
    • 5. März 2008 um 13:11
    Zitat von McPoldy

    eine einfache drucker auswahl reicht aber, keine einstellungen, etc. oder

    Hilalie,

    wenn möglich sollte sowas wie das Bild im Anhnag erscheinen.
    Gruß
    Lutz

    Dateien

    Zwischenablage01.jpg 21,78 kB – 0 Downloads
  • Einfache Druckerauswahlliste

    • uuchip
    • 5. März 2008 um 11:45

    Hallo Zusammen,

    meiner einer muss (immer) noch ein AutoIt Frontend (weiter)entwickeln, welches Daten in Excel files schreibt und nach bedarf diese Tabelle druckt.
    So schön so gut dank Excel UDF und euerer Hilfe bei der GUI klappt das auch prima :)

    Das Problem ist nun, dass z.Z. der ausdruckt nur über den Systemstandarddrucker erfolgt. "Der Chef" [tm] aber möchte das er den Drucker wie üblich auch in der Anwendung definieren kann, meine Frage deshalb, gibt es da einfache Möglichkeiten evtl. über System COM Objekte den gewünschten Drucker "schön" einzustellen?

    Vielen Dank für die Hilfe. Mit freundlichen Grüßen
    Lutz

  • Bitmaps in au2exe

    • uuchip
    • 31. Januar 2008 um 11:50

    Hi I3iLLiG

    vielen Dank, das ist die Lösung. Naja hätte ich auch selber daruaf kommen müssen - Motto: Wer lesen kann ist jlar im Vorteil

    Mit freundlichen Grüßen
    Lutz Müller

    Zitat von I3iLLiG

    Also das würde ja z.B. mit "FileInstall" gehen

  • Bitmaps in au2exe

    • uuchip
    • 31. Januar 2008 um 10:05

    Hallo Gemeinde,

    eine kurze Frage an die Fachleute: Gibt es einen (einfachen) Weg Bitmaps (jpg) in ein "compiliertes" au3 exe einzubinden?

    Mir fällt zur Zeit nur der Umweg über bin->hex->au3 code und abspeichern der hex als jpg zur Laufzeit ein, was ziemlich aufwendig wäre und den code natürlich sehr aufblähen würde.

    Danke im voraus. Mit freundlichen Grüßen
    Lutz

  • Q: Abfrage GUI Control Typ über controlID

    • uuchip
    • 27. Januar 2008 um 12:33

    Hi BugFix,

    vielen danke für die Hilfe. Ich kann die vorgeschlagene API func sehr gut gebrauchen. Das nachhalten der Contol ID in Excel ist kein Problem bzw. muss sowieso gemacht werden wg. der notwendigen Zuordnung Vorgabe zu Contoll ID.

    tschööö
    Lutz

    P.S.: Den Unterschied zwischen z.B. TAInput und TAEdit macht _WinAPI_GetClassName() nicht. ist aber für mein Problem nicht relevant

    Zitat von BugFix

    Du kannst dir den Klassennamen ausgeben lassen, vielleicht reicht dir das schon.
    Hier mal ein Beispiel, Ausgabe in die Console:

    [autoit]

    #Include
    #include
    $gui = GUICreate('')
    Global $aCtrl[6] = [ _
    GUICtrlCreateButton('', 20, 20), _
    GUICtrlCreateCheckbox('', 20, 50), _
    GUICtrlCreateRadio('', 40, 50), _
    GUICtrlCreateEdit('', 100, 20), _
    GUICtrlCreateInput('', 20, 80), _
    GUICtrlCreateCombo('', 20, 110)]
    GUISetState()

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

    Do
    For $i = 0 To UBound($aCtrl) -1
    ConsoleWrite(_WinAPI_GetClassName($aCtrl[$i]) & @CRLF)
    Next
    Exit
    Until 1

    [/autoit]


    Ausgabe:

    Code
    Button
    Button
    Button
    Edit
    Edit
    ComboBox


    Das geht grundsätzlich auch mit WinGetClassList(), da hast du aber den Nachteil, dass keine Zuordnung zu den Controls besteht. Deshalb ist Einzelprüfung wohl günstiger.</guiconstants.au3></WinAPI.au3>

    Alles anzeigen
  • Q: Abfrage GUI Control Typ über controlID

    • uuchip
    • 27. Januar 2008 um 09:54
    Zitat von BugFix

    Dann nimm doch ein 2D-Array und speichere in D1 das Handle und in D2 einen Verweis auf den Typ.

    moin BugFix,

    ja genau das habe ich ja vor. Die Schwierigkeit besteht nun darin, das Koda die Typen der Controls "vorgibt" man könnte jetzt die Typen in einem ini-file oder mit in den exceldaten nachhalten oder sofort explizit in au3 coden usw., aber das wäre redundant und müsste immer gepflegt werden wenn die GUI sich ändert.

    Beispiel:

    ControlID $X[4711][0] ist ein Input , in $X[4711][1] steht drin "TAInput". Aus welchen Gründen auch immer, wird nun in Koda (und dem au3 GUI Code) aus diesem Input eine Combo. Sehr elegant wäre es nun, wenn das au3-main-progi diese Änderung automatisch "merken" würde und entsrechend reagieren könnte.

    In au3 scheint es keinen Befehl zu geben der das leistet. Evtl. könnte man da was nach dem Ausschlussverfahren coden, nach dem Motto wenn man dies und jenes und soches mit dem Control NICHT machen kann (fehlerabfrage) dann ist es eine Combo. (analog zu: öffne file x, wenn fehler dann file nicht vorhaden)

    Viele Grüße
    Lutz

  • Q: Abfrage GUI Control Typ über controlID

    • uuchip
    • 26. Januar 2008 um 16:33
    Zitat von Oscar

    Was ist ein Progi-Projekt?

    Und wozu soll das nützlich sein? Du erstellst doch die GUI-Elemente. Benenne einfach die Variablen entsprechend. Oder ich verstehe das Problem nicht... :S

    Hallo Oscar,

    das Progi soll ein Excel-Frontend werden. Die GUI besteht aus vielen (ca. 80) GUI Controls. Mit Koda wurde dasschon gebastelt. Der nächste Schritt besteht darin, dass die Inhalte der Controls aus dem Excel gedönze herausgelesen wird. Ich möchte nun die Controls in ein Schleife (wg. der grossen Anzahl) abarbeiten (d.h. die Vorgabe Werte eintragen) , wenn man das so macht muss man berücksichtigen ob Control $i nun z.B. ein TAInput
    oder ein TACombo ist.

    Mit freundlichen Grüßen
    Lutz

  • Q: Abfrage GUI Control Typ über controlID

    • uuchip
    • 25. Januar 2008 um 19:50

    Erstmal hallo Zusammen,

    für ein Progi-Projekt wäre es ganz nützlich, wenn man mit AUTOIT3 über die GUI controlID auf den Typ des dahinterstehenden GUI-Elements (Combo, Input, Edit usw.) schliessen könnte.

    Fällt euch da eine Lösung ein? Vielen Dank und viele Grüße
    Lutz

  • Rechtwinklig? Spitzwinklig? Stumpfwinklig?

    • uuchip
    • 23. Januar 2008 um 19:26

    Hallo Zusammen,

    evtl. gibt es eine einfache Lösung die darin zu finden, dass man mit dem Sinussatz (http://de.wikipedia.org/wiki/Sinussatz) aus den Seiten die Winkel direkt berechnet (siehe auch Asin Funktion von Autoit) und dann abfragt ob der Winkel grösser, kleiner oder gleich 90Grad ist.

    Mit freundlichen Grüßen
    Lutz

  • Fehlertoleranter Zeichenkettenvergleich für AutoIT3

    • uuchip
    • 1. Dezember 2007 um 18:06

    Hallo Zusammen,

    anbei ein kleines Skript, welches beliebige Zeichenketten fehlertolerant miteinander vergleicht.
    Diese oder ähnliche Progis werden z.B. als Grundlage für einfache Rechtschreibprüfungen oder das Suchen ala google mit "oder meinten Sie etwa ...." verwendet ... usw.

    Have a nice day
    Lutz

    Dateien

    FaTolStrComp00.zip 1,49 kB – 373 Downloads
  • Gleichungslöser für AutoIt3

    • uuchip
    • 20. Oktober 2007 um 15:09

    Hallo Zusammen,

    anbei ein kleines Skript, welches (fast) beliebige algebraische Gleichungen mit Autoit3 löst.

    Have fun
    Lutz

    Dateien

    solver00.zip 1,64 kB – 434 Downloads
  • FileReadLine zu langsam

    • uuchip
    • 11. Mai 2007 um 20:48

    ReHi,

    auch wenn es evtl. etwas am allgemeinen Interesse vorbeigeht, möchte ich die Lösung meines Problems veröffentlichen. Es geht darum Messdaten aus RTF Files die in einem Verzeichnis liegen nach CSV umzuwandel.

    Evtl. hilft es bei ähnlichen Problemen wieter.

    Mit freundlichen Grüßen
    Lutz

    P.S.: Die includes liegen hier noch im Skriptbereich

    Dateien

    rtf2csv00.au3 1,85 kB – 324 Downloads
  • FileReadLine zu langsam

    • uuchip
    • 11. Mai 2007 um 15:07

    Hallo BugFix,

    Du machst Deinem nickname alle Ehre. Meiner einer hatte doch tätsächlich den Filehandle vergessen :rolleyes:, was die Sache mit der mangelnde Geschwindigkeit erklärt. Mit dem entsprecheden handle läuft es sehr zügig.

    Danke und Gruß
    Lutz

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™