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

Beiträge von minx

  • Pipeline DLL - die einfachste Art der Prozess-Kommunikation

    • minx
    • 15. April 2013 um 00:25

    Hi!

    Ich habe mir (da ich oft mit Multi-Instanzen von AutoIt Programmen arbeite) eine kleine DLL geschrieben, welche die Kommunikation zwischen den Prozessen so einfach wie möglich macht. Die DLL nutzt die Windowseigene Mailslot-Pipeline und enthält sonst nichts, bis auf viele Error-Handlings.

    Das einzige was ihr zur Inbetriebnahme braucht ist die DLL, die ihr per "regsvr32" im System registrieren müsst. Ihr könnt sie jederzeit wieder entfernen (Parameter /u). Einige Virenscanner mögen vielleicht anschlagen, weil die DLL mit mpress komprimiert wurde.

    Die DLL wird objektorientiert angesprochen und bietet genau 4 Befehle, die alle in diesem Beispiel enthalten sind. In diesem Test-Skript kommuniziert der Prozess mit sich selbst. ^^ . Push und Pop mögen den Eindruck eines Stacks machen, sind aber willkürlich gewählte Namen. Die Daten können wie und wann man will gesendet werden.

    [autoit]

    Opt("GUIOnEventMode", 1)

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

    $oShare = ObjCreate("Pipeline.Pipe")
    ConsoleWrite("!> " & @error & @LF)

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

    $oShare.CreateSlot ; Erstellt einen Slot, der für die aktuelle PID alle Anfragen abhört

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

    GUICreate("Test", 200, 55)
    GUISetOnEvent(-3, "quit")
    $hInput = GUICtrlCreateInput("Data to send...", 5, 5, 190, 21)
    $hSend = GUICtrlCreateButton("Send", 5, 31, 190, 20)
    GUICtrlSetOnEvent(-1, "_send")
    GUISetState()

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

    While Sleep(10)
    $Data = $oShare.Pop ; Empfängt alle Daten, die an diesen Prozess übergeben werden
    If $Data <> "" Then ConsoleWrite("!> Data: " & $Data & @LF)
    WEnd

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

    Func _send()
    $oShare.Push(GUICtrlRead($hInput), @AutoItPID) ; Sendet Daten. Hier an den selben Prozess zu Testzwecken.
    ; Für andere Prozesse einfach eine andere PID einsetzen.
    EndFunc

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

    Func quit()
    $oShare.DestroySlot ; Slot schließen
    Exit
    EndFunc

    [/autoit]

    Dateien

    PipeTest.au3 860 Byte – 382 Downloads PipelineDLL.zip 6,39 kB – 409 Downloads
  • DLLCall in/aus undokumentierter DLL

    • minx
    • 14. April 2013 um 15:08

    Es gibt bereits eine Funktion dafür im englischen Forum:

    [autoit]

    #Include <WinAPIEx.au3>

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

    ConsoleWrite(_FontInstall('MyFont.ttf') & @CR)

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

    Func _FontInstall($sFile)

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

    Local $Font, $Name, $Path

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

    $Name = _WinAPI_GetFontResourceInfo($sFile, 1)
    If @error Then
    Return SetError(1, 0, 0)
    EndIf
    $Name &= ' (TrueType)'
    $Font = StringRegExpReplace($sFile, '^.*\\', '')
    If Not RegWrite('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts', $Name, 'REG_SZ', $Font) Then
    Return SetError(2, 0, 0)
    EndIf
    $Path = _WinAPI_ShellGetSpecialFolderPath($CSIDL_FONTS)
    If Not FileCopy($sFile, $Path) Then
    RegDelete('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts', $Name)
    Return SetError(3, 0, 0)
    EndIf
    If Not _WinAPI_AddFontResourceEx($Path & '\' & $Font, 0, 1) Then
    Return SetError(4, 0, 0)
    EndIf
    Return 1
    EndFunc ;==>_FontInstall

    [/autoit]

    Die lässt sich einfach benutzen ;)

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 13. April 2013 um 16:58

    Danke (@all) ^^

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 13. April 2013 um 14:39

    Ich wollte da jetzt keine große Sache draus machen. Wenn ich ernsthaft eine 3D Engine entwickeln wollte, so würde ich sowieso andere Techniken verwenden :P . Mein Anliegen war es nur, zu zeigen, was mit dem eigentlich langsamen Graphic-Control möglich ist, ohne Verwendung von anderen Befehlen oder weiteren Befehlen aus GDI ^^

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 13. April 2013 um 13:27

    Käntenglättung gäbe es nur durch Verwendung von GDI+ . Mal sehen ob ich mich dazu überreden lasse ^^

    PS: 2 Kerne sind dabei auch nicht besser. AutoIt kann immer nur einen Kern auslasten ;)

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 13. April 2013 um 12:23

    Es ruckelt eigentlich nur, wenn im Hintergrund andere anspruchsvolle Programme (Browser, Videos, etc.) laufen.

    Um die Framerae zu begrenzen kannst du einfach die While-Schleife zur Funktion machen und sie per Adlib mit 1000/Framerate registrieren.

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 12. April 2013 um 21:28
    Zitat

    Aber schonmal sehr löblich, dass keine Polygone erforderlich sind


    As you wished, master :P

    Dein Modell schau ich mir später mal an. ^^ . Schön, dass das 3D Format so ohne Doku schon verständlich ist ^^

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 12. April 2013 um 19:03

    Ich hab den Thread "Wir bauen uns ein CAD" gesehen und dachte mir, da reicht doch AutoIt für aus ^^ . Aber danke ;)

  • AutoIt-only 3D Engine. Mit Farb-Shading, Models aus Dateien, Rotation, Zoom, uvm.

    • minx
    • 12. April 2013 um 18:37
    [autoit]

    #cs

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

    Eine kleine große 3D Engine!
    Wer braucht schon GDI+? ^^ . Diese Engine ist komplett in AutoIt verfasst und nutzt keinen
    einzigen DLL Call zu OpenGl, DirectX, GDIPlus oder anderem.

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

    Features
    - Fast backbuffered polygon drawing (200FPS @ 4GHz, 70-90FPS @ 1,7GHz)
    - Translation
    - Rotation
    - Zooming (also past z0)
    - Light-effected flat shading
    - CAD-like border-highlighting OR borderless shading
    - Back-Face Culling and Z-Odering algorithms
    - Variable shade-intensity (!)
    - Fog / View Distance emulation
    - OWN 3D model format: 3DA. A lot like Wavefronts OBJ, easy to use (pro: Doesn't need to be triangulated. Polys could contain up to 18 points!)
    - OWN model loader / parser
    - Scaling
    - <300 Lines of code
    - and what you're going to add ;)
    EndFeatures

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

    #ce

    [/autoit]

    Zur GDI+ Version springen

    Dateien

    Engine.zip 4,63 kB – 724 Downloads
  • Microsoft FlexGrid UDF - Excelartiges Listviewähnliches Control

    • minx
    • 12. April 2013 um 16:25

    Ich weiß, dass es in der VisualStudio6 Runtime mit drin ist. Die gibts hier: http://www.chip.de/downloads/Visu…e_12993706.html

    Das Endergebnis sollte etwa so aussehen (das ist nicht das Skript von oben, die Optik ist aber die gleiche ^^ :(
    [Blockierte Grafik: http://www.instantview.org/doc/images/screenshots/de/flexgrid.jpg]

  • DLL Versionvergleich

    • minx
    • 12. April 2013 um 14:10

    Sorry, habs korrigiert ^^

  • DLL Versionvergleich

    • minx
    • 12. April 2013 um 09:06

    Reicht nicht ein Thread dazu, das hättest du auch in den exisitierenden DLL Thread von dir schreiben können. Die einfachste Lösung wäre FileGetTime()

  • MX-Au3 Lizenz v1.1

    • minx
    • 11. April 2013 um 19:23

    Dazu gibts den Abschnitt Deutsches Recht. Da steht genau, wann du nur einen Nutzer rechtlich angehen kannst. Das ist aber eher eine Drohgebärde, denn deine Software wird ja keinen effizienten Wert erreichen, so dass sich dann die Anwaltskosten lohnen :D

  • MX-Au3 Lizenz v1.1

    • minx
    • 11. April 2013 um 18:55

    Wann führen diese zur ihrer Nichtigkeit? Die Ansprüche dieses Punktes sind rechtsgültig. ;)

  • Microsoft FlexGrid UDF - Excelartiges Listviewähnliches Control

    • minx
    • 11. April 2013 um 13:08

    Stimmt, komplett vergessen. Ist bei der Visual Studio Runtime dabei. ^^. Donwload hinzugefügt, einfach in system32 packen und regsvr32-en.

  • Microsoft FlexGrid UDF - Excelartiges Listviewähnliches Control

    • minx
    • 11. April 2013 um 12:45

    Das FlexGrid sollte bei Win7 zumindest im System installiert sein. Ansonsten einfach runterladen und registrieren (im System) ^^

  • Microsoft FlexGrid UDF - Excelartiges Listviewähnliches Control

    • minx
    • 11. April 2013 um 00:34

    Wer seiner Tabelle im Programm ein wenig mehr Excel-Feeling geben will, nimmt am besten MS' Flexgrid. Die UDF ist nicht komplett und ich werde sie auch nicht weiter bearbeiten, dennoch sind alle wichtigen Elemente enthalten, genauso wie ein Beispiel. Kommentiert sind die Befehle ebenfalls.

    Download des Controls: http://www.ocxdump.com/download-ocx-f…8/download.html

    Viel Spaß

    Dateien

    24gr.au3 3,77 kB – 401 Downloads
  • Eine EXE aus einem AUTOIT-Script 'als Administrator ausführen'

    • minx
    • 10. April 2013 um 13:15

    Admin zur Laufzeit ist nicht so einfach. Ein kleines Workaround bietet MakeMeAdmin.

    Und das gleiche nochmal mit AutoIt umgesetzt: http://www.autoitscript.com/forum/topic/60765-runasadmin/

  • Eine EXE aus einem AUTOIT-Script 'als Administrator ausführen'

    • minx
    • 10. April 2013 um 12:55
    Zitat

    User starten darf (also klar OHNE #requireadmin) eine EXE

  • 8Bit Volladdierer

    • minx
    • 9. April 2013 um 17:44

    Ein wohlkommentiertes Skript und eine schöne Info-Übung. ^^ . Ließe sich zwar etwas kürzer fassen, aber so ist es wenigstens übersichtlich.

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™