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

Beiträge von HeiWoMa

  • Internet sperren für Prüfungssituationen

    • HeiWoMa
    • 26. Oktober 2018 um 14:37

    Du kannst das über die versteckte "C:\Windows\System32\drivers\etc\hosts" (die 'hosts' Datei hat keine Dateiendung) machen.
    Ich glaube dieser Inhalt sollte dich komplett vom Internet trennen, weil alles nach localhost (also dein eigener Rechner) umgeleitet wird.


    #[IPv4]
    127.0.0.1 localhost

    127.0.0.1 *


    #[IPv6]

    ::1 localhost
    ::1 *


    VG
    -HeiWoMa-

  • Best Practise: Dokumente als Ausgabe generieren

    • HeiWoMa
    • 16. November 2016 um 15:18

    Moin,
    ich habe es mit einer anderen "schrägen" Methode realisiert. Mit Hilfe von OpenOffice. Die ODT-Dateien sind ZIP-Dateien. Man kann sie entpacken und packen.
    Dafür habe ich eine Vorlage in OpenOffive-Writer erstellt und in der Content.xml Text eingefügt den ich suchen und ersetzen kann z.B. #Name#, #PLZ# usw..
    In AutoIt habe ich einen Maske programmiert in der ich Daten wie Adresse, Artikelnummer usw. eingeben kann. Dann entpacke ich die Vorlage (*.odt) mit 7zip in ein temopäres Verzeichnis und ersetze in der Content.xml #Name# mit dem Namen aus meiner Maske. Wenn alle Daten erstetzt wurden dann packe ich das Verzeichnis wieder mit der Dateiendung ODT. Jetzt kann die neue Datei mit OpenOffice geöffnet werden.
    Als OpenOffice nutze ich eine ältere Version die als Portable Version hier habe. Mit den aktuellen Versionen von OpenOffice oder LibreOffice habe ich es noch nicht probiert.

    Ich habe das hier gerade gefunden, könnte dir helfen:
    [UDF] OpenDocumentFormat, ODT, OpenOffice, LibreOffice

  • FTP Upload über Proxy klemmt

    • HeiWoMa
    • 17. April 2008 um 14:26

    Hallo,
    ich bin mir nicht sicher aber nach dem was ich gefunden habe muss der Proxy in _FTPOpen eingetragen werden.
    Wobei in der ftp.au3 die ich benutze der 2te Parameter mit 1 angegeben wurde.
    $Open = _FTPOpen('MyFTP', 1, xxxx.net:8080)

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ;
    ; Function Name:_FTPOpen()
    ; Description: Opens an FTP session.
    ; Parameter(s): $s_Agent - Random name. ( like "myftp" )
    ; $l_AccessType - I dont got a clue what this does.
    ; $s_ProxyName - ProxyName.
    ; $s_ProxyBypass- ProxyByPasses's.
    ; $l_Flags - Special flags.
    ; Requirement(s): DllCall, wininet.dll
    ; Return Value(s): On Success - Returns an indentifier.
    ; On Failure - 0 and sets @ERROR
    ; Author(s): Wouter van Kesteren.
    ;
    ;===============================================================================

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

    Func _FTPOpen($s_Agent, $l_AccessType = 1, $s_ProxyName = '', $s_ProxyBypass = '', $l_Flags = 0)
    $dll = DllOpen("wininet.dll")
    Local $ai_InternetOpen = DllCall('wininet.dll', 'long', 'InternetOpen', 'str', $s_Agent, 'long', $l_AccessType, 'str', $s_ProxyName, 'str', $s_ProxyBypass, 'long', $l_Flags)
    If @error OR $ai_InternetOpen[0] = 0 Then
    SetError(-1)
    Return 0
    EndIf

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

    Return $ai_InternetOpen[0]

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

    EndFunc ;==> _FTPOpen()

    [/autoit]
  • Mail mit MAPI versenden

    • HeiWoMa
    • 3. April 2008 um 07:54

    Hallo,
    mitlerweile habe ich es anders gelöst.
    Ich benutze blat.exe (Kommando-Zeilenmailer). Das funktioniert sehr gut. Da ich die Funktion für Supportzwecke benutze habe ich unseren SMTP-Server fest eingetragen.
    Wenn man jetzt den SMTP-Server manuell eintragen kann, dann kann zum Beispiel der Nutzer des Tools seinen eigenen SMTP-Server eintragen. Dann funktioniert es sehr gut und ist sehr universell. Mit blat.exe ist es zudem möglich über eine simple BAT-Datei zu mailen oder aber es mit AutoIt und mit mehr Komfort zu machen.
    Zur Info wie der Ablauf jetzt gemacht wurde:
    - Tool fragt Daten ab wie Nutzername, email, Telefon, Fehlerbeschreibung usw. usw.
    - Tool erstellt ein Systemlog mit Daten die vom Support benötigt werden (Dienste, Treiber, Variablen usw. usw.)
    - Tool erstellt ZIP-Datei mit den Dateien die vom Support benötigt werden
    - Tool erstellt ein Mail und versendet es mit der blat.exe
    Da es aber sehr speziell auf unsere Software zugeschnitten ist, bringt das posten des Codes nicht sehr viel. Lediglich kleine Teile davon wären/sind von anderen nutzbar.

  • VPN-Verbindungs-Skript

    • HeiWoMa
    • 21. Oktober 2006 um 08:33

    Nur zur Info:
    Die VPN-Verbindung kannst du auch mit RASDIAL starten.
    rasdial <Name der Verbindung> <Anmeldename> <Passwort>
    Name der Verbindung = Beschreibung des Icons in Netzwerkverbindungen
    Hiermit kannst du die Verbindung wieder schließen:
    rasdial <Name der Verbindung> /DISCONNECT
    Damit kannst du es fast komplett automatisch machen.

  • Ordner Probleme

    • HeiWoMa
    • 20. Oktober 2006 um 18:38

    Erstmal habe ich einen Schreibfehler in meinem Posting gefunden. Es muss heißen:
    HKEY_CLASSES_ROOT/*
    HKEY_CLASSES_ROOT/Folder
    Du kannst ScreenShots von den beiden Einträgen aus der Registry posten. Bei einigen Sachen kann ich dir hoffentlich helfen. Zudem kannst du die Schlüssel in einen *.reg exportieren, dann hast du sie als Backup und kannst sie bei Bedarf wieder importieren.

  • Mail mit MAPI versenden

    • HeiWoMa
    • 20. Oktober 2006 um 15:27
    Zitat

    Sonst such dir doch ne mapi32.dll und leg sie zu deinem Programm und dann hast du eine definierte Version.


    Das wollte ich auch machen.
    Aber wie kann ich in AutoIt die Funktionen in der DLL ansprechen.
    Welche Funktionen muss ich ansprechen. Ich hab es noch nie gemacht mit einer DLL in AutoIt zu arbeiten.
    Ich muss ein Mail erstellen an einen Empfänger und Text im Body sowie mehrere ZIP-Dateien anhängen.

  • Mail mit MAPI versenden

    • HeiWoMa
    • 20. Oktober 2006 um 13:48

    http://www.schul-office.de/clarion/clw_mapi.htm
    Die EXE wäre genau das was ich brauchen könnte, dann muss ich nicht alles nachbauen und kann genau wie dort beschrieben damit arbeiten.
    Ich habe aber leider keinen Kompiler um aus dem Code eine EXE zu erstellen.
    Mit Google konnte ich die EXE nicht finden.

  • Ärger mit FileWriteLine

    • HeiWoMa
    • 20. Oktober 2006 um 12:53

    Hast du es mal mit einem Linefeed (Zeilenumbruch) am Ende der Nachricht versucht.
    Filewriteline($filehandle , $nachricht & @LF)

  • Ordner Probleme

    • HeiWoMa
    • 20. Oktober 2006 um 08:17

    Hallo,
    das solltest du in der Registry fixen können.
    HKEY_CLASSES_ROOT/Folder
    darin sind alle Funktionen die du bei einem Rechtsklick auf einen Ordner angezeigt bekommst.
    HKEY_CLASSES_ROOT/Folder
    darin sind alle Funktionen die du bei einem Rechtsklick auf einer Datei angezeigt bekommst.
    Und dann kannst du noch diverse Sachen z.B. was als Standard (fett) gesetzt ist festlegen im Explorer.
    Den WindowsExplorer öffnen
    - Menü: Extras -> Ordneroptionen -> Register: Dateitypen -> Eintrag "Ordner" anklicken -> Button: Erweitert
    hier kannst du jetzt einen Eintrag als Standard festlegen.

  • Mail mit MAPI versenden

    • HeiWoMa
    • 20. Oktober 2006 um 08:03

    Hmmm...
    da hast du auch wieder recht.
    Wie könnte man es anders lösen? Eine idee?

  • Mail mit MAPI versenden

    • HeiWoMa
    • 19. Oktober 2006 um 22:17

    Hallo,
    leider setzen nicht alle Kunden Outlook ein. Was ist wenn sie Thunderbird oder Eudora oder sonst ein Programm einsetzen.
    Ich hoffe das alle über die MAPI ansprechbar sind, wenn nicht dann muss ich mir was anderes einfallen lassen. Bei einem Webmailer muss der Kunde es ohnehin manuell machen. Das mail erstellen und die Anhänge einfügen.

  • Mail mit MAPI versenden

    • HeiWoMa
    • 19. Oktober 2006 um 20:52

    Hallo,
    eigentlich wäre das ideal.
    ABER: Auf diversen Rechnern (in der Firma und bei Kunden) tritt der Fall auf, das sie mit Outlook arbeiten. Aber wenn man mailto auführt kommt es zu einem Fehler nicht genügend Rechte bla bla und das wars.
    Nach einigem Suchen habe ich dann folgendes herausgefunden:
    Der Fehler liegt in der Registry und zwar ist in:
    HKLM\SOFTWARE\Clients\Mail
    und in:
    HKCR\mailto\shell\open\command
    Outlook Express als Defaultmail-Programm eingetragen.
    In:
    HKCR\msgFile\shell\open\command
    ist Outlook als Mailprogramm eingetragen.
    wenn ich aber auf einem Rechner mit diesem Problem ein Programm ausführe das die MAPI zum Erstellen eines Mails benutzt dann funktioniert es, d.h. das Mail wird in Outlook und nicht in OutlookExpress erstellt. Also genau das was ich benötige. Da ich aber kein Programmierer bin und nur AutoIt halbwegs behersche finde ich keine Möglichkeit über die MAPI zu mailen.
    _INetMail() liest das Mailprogramm aus dem Schlüssel:
    HKCR\mailto\shell\open\command
    und da steht OutlookExpress darin. Ich habe es schon mit Blat und sendEmail versucht, aber bei allen muss ich den SMTP-Server eingeben. Da die Mailfunktion aber bei Kunden eingesetzt werden soll um Daten an den Support zu mailen, kann ich es vergessen, die wenigsten Anwender wissen ihren SMTP-Server, da der eingstellt ist und sie noch nie damit zu tun hatten.
    Wenn jemand einen Vorschlag hat wie man es mit einem externen Tool lösen kann gerne, ich bin für jeden Tipp dankbar.

  • Mail mit MAPI versenden

    • HeiWoMa
    • 19. Oktober 2006 um 18:21

    Hallo,
    ich möchte ein Mail erstellen und mit der MAPI-Funktion in Windows versenden.
    Die MAPI wird von diversen Programmen genutzt. Leider habe ich keine Idee wie ich das machen kann um die MAPI-Schnittstelle mit AutoIt anzusprechen. Ich glaube dafür ist die MAPI32.dll zuständig aber ich habe nirgends gefunden wie ich Funktionen aus der DLL nutzen kann.
    Eine Idee, einen Ansatzpunkt wo ich anfangen kann um die MAPI anzusprechen?

  • Verschiedene Bildschirmauflösungen

    • HeiWoMa
    • 19. Oktober 2006 um 18:13

    Ich habe mir mal diese Funktion dazu geschrieben, damit ist der Text auch noch gleich wenn auf dem Rechner die dPi verändert wurden, das wird gerne auf Notebooks gemacht um die Schrift grösser zu bekommen.

    Spoiler anzeigen
    [autoit]


    ; ################################################################
    Func _iCalcFontSize()
    ; -> gloabl things needed all the time for GUI
    Global $AppliedDPI = 96
    Global $FontSize, $iFontSize1, $FontSize1, $iFontSize = 9
    Global $iFontSize10 = 10

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

    ; OS depending
    If @OSVersion = "WIN_95" Then
    $AppliedDPI = RegRead("HKEY_LOCAL_MACHINE\Config\0001\Display\Settings","DPILogicalX")
    ElseIf @OSVersion = "WIN_98" Then
    $AppliedDPI = RegRead("HKEY_LOCAL_MACHINE\Config\0001\Display\Settings","DPILogicalX")
    ElseIf @OSVersion = "WIN_ME" Then
    $AppliedDPI = RegRead("HKEY_LOCAL_MACHINE\Config\0001\Display\Settings","DPILogicalX")
    ElseIf @OSVersion = "WIN_NT4" Then
    FileInstall("C:\Programme\AutoIt310\psapi.dll",@WindowsDir & "\psapi.dll",0)
    $AppliedDPI = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontDPI","LogPixels")
    ElseIf @OSVersion = "WIN_2000" Then
    $AppliedDPI = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontDPI","LogPixels")
    ElseIf @OSVersion = "WIN_XP" Then
    $AppliedDPI = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics","AppliedDPI")
    ElseIf @OSVersion = "WIN_2003" Then
    $AppliedDPI = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics","AppliedDPI")
    Else ; if nothing good is found
    $AppliedDPI = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics","AppliedDPI")
    EndIf

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

    ; calculate the fontsize depending on DPI-Setting
    If $AppliedDPI < 75 Then
    $AppliedDPI = 96
    EndIf
    $AppliedDPI = ($AppliedDPI * 100) ; calculate percent
    $AppliedDPI = ($AppliedDPI / 96) ; calculate percent
    $AppliedDPI = (9 / $AppliedDPI * 110) ; calculate fontsize add 10%
    $iFontSize1 = Round($AppliedDPI,1) ; round fontsize to one Digit
    $iFontSize10 = $iFontSize + 1

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

    ; -> calculate textsize for new GUI and coordinates of the Dialogs
    $FontSize = ($iFontSize1 / 1.08)
    $FontSize1 = ($FontSize-0.16)
    ; -> coordinates of the Dialogs to avoid jumping Dialogs when a new Dialog is open
    Global $WindowPos = _WindowPosArrayCreate("0","-1","-1")

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

    EndFunc
    ; ================================================================

    [/autoit]

    Hiermit setze ich dann den Text in den Dialogen:
    GUISetFont ($FontSize1)
    Die Werte im UDF sehen etwas "wild" aus, die haben mit einigem probieren hinbekommen so das bei veschiedenen dPI-Einstellungen die Texte immer gleich groß sind.

    edit by Gun-Food: [ autoit] bbcode bitte verwenden! Danke

  • Dateien / Ordner rekursiv lesen

    • HeiWoMa
    • 19. Oktober 2006 um 17:55

    Hallo,
    funktioniert.
    Beta installiert und es geht.
    Danke.

  • Dateien / Ordner rekursiv lesen

    • HeiWoMa
    • 19. Oktober 2006 um 17:14

    Hallo,
    ich arbeite schon eine ganze Weile mit AutoIt, finde aber immer noch etwas was ich nicht kenne.
    Ich habe ein wenig mit den UDF von Bugfix probiert. Aber wenn ich das Script in SciTe mit F5 ausführe dann bekomme ich diese Fehler:
    ERROR: can't open include file "C:\Programme\AutoIt310\Include\GuiList.au3"
    ERROR: SetError() [built-in] called with wrong number of args.
    ERROR: _GUICtrlListGetCaretIndex(): undefined function.
    ERROR: _GUICtrlListGetText(): undefined function.

    Was mich etwas wundert ist zum Beispiel diese Meldung:
    ERROR: SetError() [built-in] called with wrong number of args.
    Wenn ich in die Hilfe für die von mir verwendete Version 3.1.1.0 sehe dann hat SetError nur dieses SetError ( code )
    Im Script wurde aber:
    SetError(1,0,0)
    verwendet.
    Welche Version muss ich nehmen damit ich damit proberen kann?

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™