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

Beiträge von chip

  • Methode in C++ DLL mit Autoit aufrufen?

    • chip
    • 3. Februar 2014 um 13:20

    Perfekt jetzt weiß ich bescheid. Danke AspirinJunkie.

  • Zahlen sortieren funktioniert nicht

    • chip
    • 3. Februar 2014 um 12:18

    Deinen ersten Beitrag editieren und den Präfix ändern.

  • Methode in C++ DLL mit Autoit aufrufen?

    • chip
    • 3. Februar 2014 um 11:59

    Willst mir damit sagen, dass man mit Autoit nur Funktionen in Dlls aufrufen kann und kleine Klassen/Methoden?

  • Zahlen sortieren funktioniert nicht

    • chip
    • 3. Februar 2014 um 09:25

    Zuerst einmal hier: https://autoit.de/index.php?page=Thread&threadID=4424

  • Methode in C++ DLL mit Autoit aufrufen?

    • chip
    • 3. Februar 2014 um 09:24

    Hi,

    ich habe eine DLL (gpgFuncDll.dll) mit folgendem Inhalt:

    gpgFuncDLL.h

    Spoiler anzeigen
    Code
    // gpgFuncDll.h
    
    
    #ifdef GPGFUNCDLL_EXPORTS
    #define GPGFUNCDLL_API __declspec(dllexport) 
    #else
    #define GPGFUNCDLL_API __declspec(dllimport) 
    #endif
    
    
    
    
    namespace gpgFunc
    {
        // This class is exported from the gpgFuncDll.dll
        class MygpgFunc
        {
        public: 
            // Returns a + b
            static GPGFUNCDLL_API double Add(double a, double b); 
    
    
            // Returns a - b
            static GPGFUNCDLL_API double Subtract(double a, double b); 
    
    
            // Returns a * b
            static GPGFUNCDLL_API double Multiply(double a, double b); 
    
    
            // Returns a / b
            // Throws const std::invalid_argument& if b is 0
            static GPGFUNCDLL_API double Divide(double a, double b); 
        };
    }
    Alles anzeigen

    gpgFuncDll.cpp

    Spoiler anzeigen
    C
    // gpgFuncDll.cpp : Definiert die exportierten Funktionen für die DLL-Anwendung.
    //
    
    
    #include "stdafx.h"
    #include "gpgFuncDll.h"
    
    
    
    
    #include <stdexcept>
    
    
    using namespace std;
    
    
    namespace gpgFunc
    {
        double MygpgFunc::Add(double a, double b)
        {
            return a + b;
        }
    
    
        double MygpgFunc::Subtract(double a, double b)
        {
            return a - b;
        }
    
    
        double MygpgFunc::Multiply(double a, double b)
        {
            return a * b;
        }
    
    
        double MygpgFunc::Divide(double a, double b)
        {
            if (b == 0)
            {
                throw invalid_argument("b cannot be zero!");
            }
    
    
            return a / b;
        }
    }
    Alles anzeigen


    Mir ist aber nun nicht klar wie ich mit DLLCall z.b. die Methode "Add" aufrufen kann.

    mfg

  • system32/SysWOW64 Programme auf Englisch starten?

    • chip
    • 31. Januar 2014 um 19:11

    Ist denke ich schon daher nicht möglich, weil nicht auf jedem System das englische Sprachpaket installiert ist,

  • Auslesen der CMD liefet kein Ergebnis

    • chip
    • 31. Januar 2014 um 08:44

    Es gibt zwar eine rudimentäre Möglichkeit Parameter für den "Fragedialog" direkt zu übergeben, allerdings sind dort einige Punkte nicht möglich welche im "Fragedialog" vorhanden sind. Alle anderen Sachen kann man problemlos direkt via Paramter steuern. Warum man allerdings die Schlüsselerzeugung nicht richtig für Parameter implementiert hat ist mir ein Rätzel.

  • Auslesen der CMD liefet kein Ergebnis

    • chip
    • 30. Januar 2014 um 20:19

    Macht leider keinen Unterschied.

  • Auslesen der CMD liefet kein Ergebnis

    • chip
    • 30. Januar 2014 um 12:17

    Ich bin inzwischen so weit, dass ganz ganz wohl durch einen bypass an stdout vorbeigeleitet wird und direkt in consol ausgegeben wird.

  • Auslesen der CMD liefet kein Ergebnis

    • chip
    • 30. Januar 2014 um 10:05

    Hi,
    ich habe folgende Funktion:

    Spoiler anzeigen
    [autoit]

    Func gpa_create_das_mainkey()
    $pid = Run("C:\cryptconv\gpg\gpg2.exe --gen-key", @SystemDir, @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD)

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

    While 1
    sleep(100)
    $line = StdoutRead($pid)
    If @error Then ExitLoop

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

    If $line <> "" Then
    MsgBox(0, "STDOUT gelesen:", $line)
    EndIf
    WEnd

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

    While 1
    $line = StderrRead($pid)
    If @error Then ExitLoop

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

    If $line <> "" Then
    MsgBox(0, "STDERR gelesen:", $line)
    EndIf
    WEnd

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

    EndFunc ;==>gpa_create_das_mainkey

    [/autoit]

    Es wird also die gpg2.exe (http://www.gpg4win.de/) mit dem Paramter --gen-key aufgerufen welches ein normales Konsolenprogramm ist. Ich möchte dann schlicht erstmal die Ausgabe auswerten welche im Konsolenfenster so aussieht:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Leider liefert StdoutRead dabei nichts zurück.

    StderrRead hingegen liefert beim Schließen des Fensters richtigerweise dieses Ergebiss.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Mir ist nicht klar warum StderrRead funktioniert, StdoutRead allerdings nicht.

    P.s. StdinWrite funktioniert ebenfalls nicht.

    Dateien

    konsole.png 9,84 kB – 0 Downloads error.png 5,7 kB – 0 Downloads
  • Source verschwunden, obfuscated source unobfuscaten?

    • chip
    • 28. Januar 2014 um 22:04
    Zitat von i2c

    Wen interessiert, ob dir Olly ne Fehlermeldung an den Kopf wirft? Es ging einzig und allein darum, das in der AutoIt EULA nicht das reversen von mit AUtoIt kompilierten Skripten untersagt wird.

    Und genau ist eine fatale Änderungen die scheinbar auch nicht wirklich dem kompletten Autoitteam bekannt ist, da nach wie vor im offiziellen Forum Leute wegen decompiler mit Hinweis auf die Eula bestraft werden. Hab mal einen Thread dazu aufgemacht.

  • Source verschwunden, obfuscated source unobfuscaten?

    • chip
    • 28. Januar 2014 um 21:07

    Da liegst du leider falsch i2c. Es verstößt gegen die Lizenzbestimmungen, da es keinen offiziellen decompiler für die aktuelle Autoitversion gibt. Siehe offizielle FAQ dazu: http://www.autoitscript.com/wiki/Decompili…y_decompiler.3F

  • *.avi Datei abspielen

    • chip
    • 28. Januar 2014 um 08:36

    Schon schwer einfach mal die Suche zu benutzen oder? [ gelöst ] Problem mit GuiCtrlCreateAvi

  • Webinhalt der nur per AutoIt aufrufbar ist?

    • chip
    • 26. Januar 2014 um 10:39

    Sicherheit != Autoit.

    Eine Möglichkeit wäre das ein via Autoit einen entsprechendes Wert an ein PHP-Script übergibst und dieses dann wenn der Wert stimmt die Antwort liefert.

  • copyfile Frage

    • chip
    • 24. Januar 2014 um 16:02

    So sollte es gehen:

    FileCopy("\\server_ip\freigabe\update\java\sec-files\*.*", "C:\user\" & @UserName & "\AppData\LocalLow\Sun\Java\Deployment\security\")

  • Ordner per Drag & Drop in ListView einfügen...

    • chip
    • 24. Januar 2014 um 13:44

    Hier hast ein passendes Script: http://www.autoitscript.com/forum/topic/41…tview/?p=307469

    Hab das mal für die aktuelle Autoitversion angepasst:

    Spoiler anzeigen
    [autoit]

    ; original by lazycat
    ; modded by xcal

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

    #include<WindowsConstants.au3>
    #include<ListViewConstants.au3>
    #include<GUIConstantsEx.au3>

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

    Global $gaDropFiles[1]

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

    GUICreate('', 320, 220, -1, -1, -1, $WS_EX_ACCEPTFILES)

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

    $list = GUICtrlCreateListView('Files', 10, 10, 300, 200)
    GUICtrlSendMsg($list, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, -1)
    GUICtrlSetState($list, $GUI_DROPACCEPTED)

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

    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')

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

    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_DROPPED
    For $i = 0 To UBound($gaDropFiles) - 1
    GUICtrlCreateListViewItem($gaDropFiles[$i], $list)
    Next
    EndSwitch
    WEnd

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

    Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)
    For $i = 0 To $nAmt[0] - 1
    $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate("char[" & $nSize & "]")
    DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
    ReDim $gaDropFiles[$i + 1]
    $gaDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    EndFunc

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

    Func quit()
    Exit
    EndFunc

    [/autoit]
  • IP Liste erstellen, mal gehts mal gehts nicht...

    • chip
    • 24. Januar 2014 um 13:36

    Das Problem ist, dass du Strings vergleichst und keine Integer. Bei String wird von vorne nach hinten verglichen und da 9 (90) höher als 1 (110) ist wird richtigerweise abgebrochen.

    So geht es:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    $von = 0
    $bis = 0
    $server = 0
    $kunde = 0
    $while = 0
    $err = 1
    #region ### START Koda GUI section ### Form=c:\scripte\ip liste erstellen\gui.kxf
    $Form1_1 = GUICreate("Form1", 177, 264, 1323, 317)
    $Adressbereichvon = GUICtrlCreateInput("Adressbereich von:", 16, 72, 145, 21)
    $Adressbereichbis = GUICtrlCreateInput("Adressbereich bis:", 16, 104, 145, 21)
    $FQDN = GUICtrlCreateCheckbox("FQDN", 16, 168, 57, 33)
    $Kundenname = GUICtrlCreateInput("Kundenname", 16, 8, 145, 21)
    $DNS = GUICtrlCreateInput("DNS Server", 16, 40, 145, 21)
    $Create = GUICtrlCreateButton("Liste erstellen", 16, 208, 145, 33)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    While $while = 0
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Create
    $von = GUICtrlRead($Adressbereichvon)
    $bis = GUICtrlRead($Adressbereichbis)
    $server = GUICtrlRead($DNS)
    $kunde = GUICtrlRead($Kundenname)
    If _fddf($von) = 0 Then
    MsgBox(0, "FALSCHEINGABE", "Der Startwert wurde nicht im korekten Format eingegeben (XXX.XXX.XXX.XXX)")
    $err = 1
    ElseIf _fddf($bis) = 0 Then
    MsgBox(0, "FALSCHEINGABE", "Der Endwert wurde nicht im korekten Format eingegeben (XXX.XXX.XXX.XXX)")
    $err = 1
    ElseIf _fddf($server) = 0 Then
    MsgBox(0, "FALSCHEINGABE", "Die ServerIP wurde nicht im korekten Format eingegeben (XXX.XXX.XXX.XXX)")
    $err = 1
    ElseIf $kunde = "" Then
    MsgBox(0, "FALSCHEINGABE", "Es wurde kein Kunde angegeben")
    $err = 1
    Else
    MsgBox(0, "Eingabe akzeptiert", "Liste wird erstellt")
    $err = 0
    EndIf
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    If $err = 0 Then $while = 1
    WEnd
    $von = StringSplit($von, ".")
    $bis = StringSplit($bis, ".")
    ;_arrayDisplay($von)
    ;_arrayDisplay($bis)
    FileWrite("IP Liste.txt", "Kunde: " & $kunde & @CRLF & "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
    FileWrite("IP Liste.txt", "DNS Server: " & $server & @CRLF)
    While 1
    FileWrite("IP Liste.txt", "Client: " & $von[1] & "." & $von[2] & "." & $von[3] & "." & $von[4] & @CRLF)
    MsgBox(0, "", Int($von[4]) < Int($bis[4]))
    If (Int($von[4]) < Int($bis[4])) Then
    $von[4] = Int($von[4]) + 1
    Else
    ExitLoop
    EndIf
    WEnd
    FileWrite("IP Liste.txt", "END OF FILE")
    Func _fddf($ip)
    If StringRegExp($ip, "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", 0) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>_fddf

    [/autoit]
  • Im Hauptprogramm andere AU3 Dateien aufrufen

    • chip
    • 21. Januar 2014 um 17:10

    Da wird dir so helfen, dass du diesen Thread direkt auf gelöst setzen kannst.

  • Keyconsole - Serialprotect für deinen Script!

    • chip
    • 21. Januar 2014 um 17:09

    Da jeder DAU Autoit mit zwei Klicks decompilieren kann nicht wirklich nützlich.

  • _Crypt_DecryptData - welcher Algorithmus?

    • chip
    • 18. Januar 2014 um 19:26

    Liegt daran, dass du mit einem anderem Algorithmus verschlüsselt hast als du entschlüsselst und das du das Ergebnis nicht mit BinaryToString() behandelst. Sprich zwei Fehler.

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™