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

Beiträge von TheDude

  • Probleme mit Dialogen und der Anzeigeskalierung von Windows (7 & 8)

    • TheDude
    • 31. Mai 2016 um 18:02

    Hallo Zusammen,

    ich habe immer wieder das Problem, daß wenn ich ein Script mit einer GUI / einem Dialog erstelle, es zu massiven Anzeigeproblemen kommt, wenn das Script auf einem Windows-Rechner (Win7 oder Win 8.1) läuft, dessen Anzeige-Skalierung auf 125% oder 150% gestellt wurde. In diesem Fall paßt dann die Beschriftung der Felder gar nicht mehr und der Anwender kann nicht mehr erkennen, was in das jeweilige Feld eingegeben werden muß oder wofür ein Button zu verwenden ist. :(

    Habt ihr hierzu evtl. einen Tipp für mich, wie ich die Beschriftungsgröße fix einstellen kann (das wäre natürlich am einfachsten) oder aber wie ich ermitteln kann, wie groß ich die Felder beim Erzeugen des Dialogs machen muß (entsprechend der in Windows eingestellten Anzeigegröße)?

    Für eure Hilfe schon jetzt vielen Dank,
    viele Grüße

    The Dude

  • Kompilierte AutoIt-EXE in einem Batch starten und mit Rueckgabewert weiterarbeiten

    • TheDude
    • 26. Juni 2013 um 08:32

    Hallo Zusammen,

    zum Bearbeiten von INI Dateien mittels eines (DOS) Batch-Files habe ich ein kleines AutoIt-Script geschrieben und kompiliert - was auch prima klappt. Im Batchfile wird es wie folgt aufgerufen: WriteToIni.exe <FileName> <Section> <Key> <Value>.

    Was ich nicht hinbekomme ist, einen Rückgabewert aus dem kompilierten EXE-File zurück in das aufrufende Batch-File zu übergeben, wo ich dann mit einem IF %ERRORLEVEL% EQU <value> ... darauf reagieren könnte.

    Hat jemand von euch sowas schon mal erstellt und einen Tipp für mich, bitte?

    Danke vorab & viele Grüße
    TheDude

  • Neue eMail über das Standard-Mailprogramm per AutoIt oder Commandline

    • TheDude
    • 25. März 2013 um 15:45

    Hallo Zusammen,

    ... sorry, daß ich mich erst jetzt wieder melde, aber ich hatte bis heute keine Gelegenheit weiter an dem Script zu arbeiten. :S

    water: Ich bin leider auf der Suche nach etwas, was sowohl mit Outlook aber auch z. B. mit Thunderbird funktioniert. Daher hilft mir Deine fantastische UDF hierbei leider nicht weiter, sorry.

    Aber eine Lösung habe ich jetzt leider immer noch nicht ... werde mal weiter daran basteln. Wenn ich es hinbekommen habe, werde ich die Lösung auf jeden Fall hier noch posten.

    Viele Grüße
    Thomas

  • Frage zu OutlookEX UDF 0.9.0.0 - eMail als "gelesen" markieren

    • TheDude
    • 25. März 2013 um 15:41

    Hallo Zusammen,

    ... jaaaa, das ist es! Perfekt - vielen Dank! :thumbup:

    Sorry, daß ich mich erst jetzt wieder melde - ich hatte leider bis heute keine Gelegenheit es auszuprobieren. :S

    Viele Grüße
    TheDude

  • Neue eMail über das Standard-Mailprogramm per AutoIt oder Commandline

    • TheDude
    • 11. März 2013 um 11:51

    Hallo Zusammen,

    ... vielen Dank für eure Antworten.

    Die Idee mit dem "MailTo:" kommt dem, was ich suche, schon sehr nahe. Aber ihr habt Recht: Mit Outlook klappt das Anfügen von Anlagen so leider nicht.

    Ich habe in Google gefunden, daß die "Senden an" Option im Kontextmenue des Explorers "Mail Recipient.MAPIMail" aufruft und darüber den Dateinamen wohl mitgibt. Leider kann ich das in einem Batch bzw. mit Run() nicht wie folgt ausführen:

    <Pfad>\Mail Recipient.MAILMapi <Pfad>\<Dateiname>

    Habt ihr hierzu vielleicht noch eine Idee? :whistling:

    Danke vorab,
    viele Grüße

    TheDude

  • Neue eMail über das Standard-Mailprogramm per AutoIt oder Commandline

    • TheDude
    • 8. März 2013 um 12:14

    Hallo Zusammen,

    für ein AutoIt-Script suche ich etwas, daß ähnlich funktioniert wie das mailto: aus HTML bzw. das "Senden an" unter Windows aus dem Kontext-Menue, wenn man auf eine Datei klickt. Es erscheint dann ja das Fenster für eine neue eMail, idealerweise direkt mit dem eingefügten Dateianhang.

    Folgendes habe ich bereits probiert - leider ohne Erfolg:

    Code
    "C:\Users\UserName\AppData\Roaming\Microsoft\Windows\SendTo\Mail Recipient.MAPIMail" c:\printerinfo.txt

    Hat da jemand von euch vielleicht eine Idee, wie man soetwas ohne weitere Tools zu verwenden erstellen kann?

    Vielen Dank vorab für eure Hilfe,
    Grüße

    TheDude

  • Frage zu OutlookEX UDF 0.9.0.0 - eMail als "gelesen" markieren

    • TheDude
    • 7. März 2013 um 07:38

    Hallo Zusammen,

    hat jemand von euch evtl. bitte einen Tipp für mich, wie ich mit der OutlookEX UDF eine bestiimmte eMail in Outlook als "gelesen" markieren kann? :wacko:

    Vielen Dank vorab,
    Grüße

    TheDude

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • TheDude
    • 13. November 2012 um 08:23

    Hallo Water,

    ... danke für die Links - ich habe mir das angesehen, nur verstehe ich einfach zu wenig davon um für mich eine entsprechende neue Funktion zu erstellen. So wie es aussieht werde ich wohl einen (AutoIt-externen) Workaround finden müssen. Mal sehen, was Google da noch so her gibt ... :wacko:

    Nochmals vielen Dank,
    Grüße

    TheDude

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • TheDude
    • 7. November 2012 um 15:54

    Hallo Water,

    wäre es mit der AD-UDF möglich, einen Rechner aus der Domänenzugehörigkeit zu entfernen und in eine Arbeitsgruppe einzufügen, wenn der Rechner in diesem Moment keine Verbindung zur Domäne hat?

    Ich habe das einmal versucht mit der Funktion _AD_UnjoinDomain() aber das scheint nicht zu klappen. Ich habe daraufhin die Funktion um den Teil des deaktivierens des Pbjekts im AD gekürzt, aber das funktioniert nicht. Hast Du hierzu vielleicht eine Idee oder eine Lösung?

    Vielen Dank vorab,
    Grüße

    TheDude

  • _AD_MoveObject verschiebt nicht

    • TheDude
    • 24. September 2012 um 10:12

    Hallo Fuschio,

    versuche einmal bitte folgendes:

    [autoit]

    Global $AccName = _AD_SamAccountNameToFQDN($user & "$")

    [/autoit]

    Laut der Doku muß hinter dem Objektnamen noch ein "$" angestellt werden.

    Grüße
    TheDude

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • TheDude
    • 13. September 2012 um 13:43

    Hallo Water,

    ... sorry, ich mußte noch etwas warten - die Replikation von Änderungen im AD dauert immer so zwei Stunden. Nun ja ...

    Also - der Fehler lag daran, daß ich den Wald vor lauter Bäumen nicht mehr gesehen habe, bitte entschuldige das.

    Der Parameter $sAD_HostServerParam bei _AD_Open() hatte einen falschen Inhalt. Dadurch wurde zwar eine Verbindung zum AD ohne Fehler hergestellt (_AD_ObjectExists() hat ja funktioniert), jedoch hat das in der Folge die Probleme beim _AD_CreateComputer() verursacht.

    Dennoch eine kurze Frage noch: Beim _AD_JoinDomain() steht in der Doku, daß der Parameter $sAD_UserParam zusammengesetzt werden muß aus DomainName\UserName. Wenn ich dies so formuliere, dann verursacht die Funktion einen Fehler und der Rechner wird nicht gejoined. Verwende ich allerdings nur den UserName, dann klappt alles prima.

    Ist das evtl. ein Bug oder aber ein Fehler in der Doku? Oder verstehe ich hier etwas falsch?

    Viele Grüße
    TheDude

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • TheDude
    • 13. September 2012 um 09:42

    Hallo Water,

    bei meinem aktuellen Projekt habe ich ein Problem mit der Funktion _AD_CreateComputer(), mit dem ich einfach nicht weiterkomme ...

    Die Verbindung zum AD läßt sich mit_AD_Open() einwandfrei herstellen. Anschließend kann ich mit _AD_ObjectExists(@ComputerName & "$") ohne Fehler abfragen, ob das Computerobjekt bereits existiert oder nicht.

    Wenn es nicht existiert, möchte ich es mit _AD_CreateComputer($OU,@ComputerName,$MeinAdAccount) hinzufügen. Hierbei kommt es dann immer zum Rückgabewert "0", allerdings steht in @Error und @Extended ebenfalls nur "0".

    Ich habe dann die Variable $iAD_Debug = 2 gesetzt um zu sehen, was genau "passiert":

    Zitat

    COM Error Encountered in Migration_to_Domain.exe
    AD UDF version = 1.2.0
    Scriptline = -1
    NumberHex = 80020009
    Number = -2147352567
    WinDescription =
    Description = Die Tabelle ist nicht vorhanden.
    Source = Provider
    HeipFile =
    HelpContext = 1240640
    LastDllError = 0

    Alles anzeigen

    Leider bringt mich das nun nicht weiter. Ich bin mir auch ziemlich sicher, daß die Inhalte der Parameter (OU, Rechnername und Benutzername) korrekt sind. Auch habe ich versucht, dem Benutzernamen die Domäne mit "\" voranzustellen - aber ebenfalls leider ohne Erfolg.

    Wenn ich den betreffenden Rechner manuell über Arbeitsplatz (ist ein XP) -> Eigenschaften -> ComputerName -> Ändern -> Domäne der Domäne hinzufüge, dann klappt das mit meinem AD.Account einwandfrei.

    Wir hatten das Thema ja bereits in der Vergangenheit in diesem Thread bereits einmal gehabt/besprochen, jedoch tritt der aktuelle Fehler auch bei der von Dir vorgeschlagenen _AD_CreateComputerEx(...) ebenfalls auf.

    AutoIt-Version ist 3.3.8.0, AD-Functions-Version ist 1.2.0 ...

    Hast Du hierzu evtl. eine Idee?

    Danke vorab,
    viele Grüße

    TheDude

  • Frage zu Doppelklick abfragen in Listbox

    • TheDude
    • 22. Mai 2012 um 16:51

    Hey M-Obi,

    ...YES!!! Danke Dir! Es klappt! :thumbup:

    Wegen der Tags gelobe ich hiermit Besserung. :whistling:

    Vielen Dank,
    Grüße & einen schönen Tag

    TheDude

  • Frage zu Doppelklick abfragen in Listbox

    • TheDude
    • 22. Mai 2012 um 12:29

    Hallo Zusammen,

    ... ich habe das Programm jetzt einmal so umgeschrieben, daß es keine zweite Funktion mehr gibt um die Events auszuwerten. Leider reagiert das Script dennoch nicht auf Interaktionen mit der Listbox. Beim Bedienen anderer Steuerelemente dagegen wird die Funktion angesprungen:

    Code
    $List_r_Report = GUICtrlCreateList("", 16, 144, 593, 292, BitOR($LBS_SORT,$LBS_USETABSTOPS,$LBS_STANDARD,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))
    
    
    [...]
    
    
    GUIRegisterMsg($WM_NOTIFY,"WM_COMMAND") ; Diese Funktion bei einer WM_Notify Message
    
    
    [...]
    
    
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    Exit
    
    
    [...]
    
    
    Func WM_COMMAND($hWndGUI,$MsgID,$wParam,$lParam)
    	#forceref $hWnd, $iMsg, $wParam
    	Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $iIDFrom
    	Local $hList_r_Report
    
    	If Not IsHWnd($List_r_Report) Then $hList_r_Report = GUICtrlGetHandle($List_r_Report)
    
    
    	$hWndFrom = $lParam
    	$iIDFrom = BitAND($wParam,0xFFFF)
    	$iCode = BitShift($wParam,16)
    
    	MsgBox(0,"","Extended")
    
    	Switch $hWndFrom
        	Case $List_r_Report, $hList_r_Report ; Events der Listbox
            	Switch $iCode ; checkt wie das Event aussieht
    				Case $LBN_DBLCLK
    					MsgBox(0,"","DoubleClickOnListView")
             	EndSwitch
    	EndSwitch
    
    	Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen

    Hat jemand vielleicht noch eine Idee, wie ich die Ereignisse der Listbox abgefragt bekomme? ?(

    Vielleicht noch zur Info: Die GUI wurde KODA 1708 Beta erstellt ...

    Danke vielmals,
    Grüße

    TheDude

  • Frage zu Doppelklick abfragen in Listbox

    • TheDude
    • 21. Mai 2012 um 13:07

    Hallo M-Obi,

    danke für die schnelle Antwort.

    Leider geht es auch damit nicht, da nach einem Doppelklick auf einen
    Listboxeintrag die Funktion WM_COMMAND nicht angesprungen bzw.
    durchlaufen wird. Das ist es, was ich nicht verstehe. Bei z. B. einem
    Klick auf eine Schaltfläche springt das Programm in die Funktion
    WM_COMMAND ...

    Komisch ist auch, daß das Beispiel aus der Auto-It Hilfe funktioniert ... ?(

    Im Gegensatz zum Beispiel gibt es allerdings in meinem Programm noch folgende Funktion:

    Func _VerwalteGUI($DbHdl)
    Local $nMsg,$Datei,$SQL_Command,$NeueLizenz

    $NeueLizenz = 0

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

    Case $GUI_EVENT_CLOSE

    ExitLoop

    ;Case $frmMain

    Case $cbb_s_SoftTitle

    [...]

    EndSwitch

    Wend

    [...]

    Verhindert dies möglicherweise den Einsprung in die Funktion WM_COMMAND?

    Danke & Grüße
    TheDude

  • Frage zu Doppelklick abfragen in Listbox

    • TheDude
    • 21. Mai 2012 um 08:31

    Hallo Bugfix,

    ... danke Dir für die schnelle Antwort.

    Ich habe jetzt folgendes ergänzt:

    If Not IsHWnd($List_r_Report) Then $hList_r_Report = GUICtrlGetHandle($List_r_Report)
    [...]
    Switch $hWndFrom
    Case $List_r_Report, $hList_r_Report ; Events der Listbox
    Switch $iCode ; checkt wie das Event aussieht
    Case $LBN_DBLCLK
    MsgBox(0,"","DoubleClickOnListView")
    EndSwitch
    EndSwitch
    [...]

    Leider scheint es so zu sein, daß die mit GUIRegisterMsg($WM_NOTIFY,"WM_COMMAND") definierte Funktion bei einem Doppelklick auf einen Eintrag in der Listbox gar nicht aufgerufen bzw. durchlaufen wird.

    Wenn ich jedoch mit der Mouse über z. B. eine Schaltfläche "fahre" (hover), dann wird WM_COMMAND durchlaufen ... ?(

    Hast Du hierzu evtl. noch einen Tipp?

    Danke vorab,
    viele Grüße

    TheDude

  • Frage zu Doppelklick abfragen in Listbox

    • TheDude
    • 17. Mai 2012 um 19:44

    Hallo Zusammen,

    das Abfragen eines Doppelklicks auf einen Listbox-Eintrag bringt mich zur Verzweiflung:

    Erzeugen der Listbox:

    $List_r_Report = GUICtrlCreateList("", 16, 144, 593, 292, BitOR($LBS_SORT,$LBS_USETABSTOPS,$LBS_STANDARD,$WS_HSCROLL,$WS_VSCROLL,$WS_BORDER))


    Abfragen der Ereignisse:

    GUIRegisterMsg($WM_NOTIFY,"WM_COMMAND")
    [...]
    Do

    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    [...]
    Func WM_COMMAND($hWnd,$iMsg,$iwParam,$ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $iIDFrom

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR,"hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR,"IDFrom")
    $iCode = DllStructGetData($tNMHDR,"Code")

    Switch $hWndFrom
    Case $List_r_Report ; Events der Listbox
    Switch $iCode ; checkt wie das Event aussieht
    Case $LBN_DBLCLK
    MsgBox(0,"","DoubleClickOnListView")
    EndSwitch
    EndSwitch

    Return $GUI_RUNDEFMSG
    EndFunc

    Leider kommt kein Event in der Funktion WM_COMMAND an. Hat einer von euch einen Tipp, wo ich hier noch auf Fehlersuche gehen kann?

    Danke vorab,
    viele Grüße

    TheDude

  • AutoIt-Script als Dienst

    • TheDude
    • 17. Oktober 2011 um 12:26

    Hi Alina,

    ... nun - so richtig beantwortet ist es leider nicht: Ich kann das kompilierte Script als Dienst einbinden, sodaß es unter dem Systemkonto läuft. Nur wird der Dienst (das Script) nach kurzer Zeit (wenn es in der Schleife läuft) beendet mit dem Hinweis, daß es nicht reagiert.

    Daher meine Frage, ob Windows hier eine Rückmeldung erwartet und wenn ja, wie ich sowas hinbekomme. Leider geht genau das nicht aus dem besagten Threat hervor - die Tipps mit den Einstellungen am eingetragenen Dienst helfen leider nicht, der Fehler bleibt der gleiche.

    Danke vorab für die Hilfe,
    Grüße

    TheDude

  • AutoIt-Script als Dienst

    • TheDude
    • 14. Oktober 2011 um 15:05

    Hallo Zusammen,

    ich habe hier ein Problem mit einem kompillierten Script, welches ich als Dienst unter Windows 7 ausführen möchte. Einbinden kann ich das Script bereits dank diesem Threat: [ gelöst ] Kompal. Script als Dienst starten

    Jedoch startet der Dienst nicht. Das Script wird ein paar Zeilen lang abgearbeitet, dann jedoch scheint es "abzustürzen" - zumindest ist Windows dieser Meinung und quittiert den Start nach einigen Sekunden mit dem Fehler:

    Zitat

    Der Dienst "TimeLogger" konnte nicht gestartet werden. Fehler 1053: Der Dienst antwortet nicht rechtzeitig auf die Start- oder Steuerungsanforderung.

    Kurz nach dem Start des Scripts läuft dieses in eine Schleife:

    $VergangeneZeit = TimerDiff($TimerStart) / 1000
    Do
    Sleep(1000)
    Until ProcessExists("WKix32.EXE") > 0 or (TimerDiff($TimerStart) / 1000) - $VergangeneZeit > 900

    Kann es sein, daß Windows hier eine Art Rückmeldung erwartet, um zu sehen, ob der Start des Dienstes geklappt hat? Und wenn ja, was fehlt hier an dieser Stelle? ?(

    Vielen Dank schoneinmal für eure Hilfe,
    Grüße & ein schönes Wochenende

    TheDude

  • Kompal. Script als Dienst starten

    • TheDude
    • 14. Oktober 2011 um 11:08

    Hallo Zusammen,

    wie kann ich das Script mit den beschriebenen Tools so als Dienst einbinden, daß es zur Ausführung den System-Account verwendet? Hintergrund ist, daß der Dienst schon laufen soll bevor sich jemand am Rechner anmeldet. Zudem hätte es den Vorteil, daß der Dienst auch dann läuft, wenn z. B. das Kennwort des Admins (oder was auch immer) geändert wurde.

    Vielen Dank vorab,
    Grüße

    TheDude

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™