Welchen AutoIt Datentyp muss ich verwenden.

  • Hallo.
    Ich bin gerade dabei, eine Funktion per DLLCall zu schreiben.
    Im internet habe ich nun einen C# Code gefunden, aber ich komme iwie nicht weiter.
    Dies ist der Code:

    Code
    static extern IntPtr OpenService(IntPtr hSCManager, string lpServiceName, uint dwDesiredAccess);


    In AutoIt habe ich die Funktion so geschrieben:

    [autoit]

    $hService = DllCall($hDLL, "???", "OpenService", "ptr", $hScManager, "str", $sServiceName, "dword", 0xF003F)

    [/autoit]


    Was muss ich in AutoIt bei den 3 Fragezeichen als Typ nehmen, denn in C# steht da IntPtr ?
    Ich habe es mit ptr und int* versucht, aber die funktionieren nicht.
    Ich hoffe jemand kann mir helfen.
    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

    Einmal editiert, zuletzt von PrideRage (14. August 2010 um 15:26)

    • Offizieller Beitrag

    Na dann verwende doch auch "int_ptr". Wobei es vermutlich auch ein "int" tut. Einen Rückgabewert erwartest du ja nicht von der Funktion (außer Erfolg/Fehler).
    Aber warum verwendest du beim letzten Parameter "dword" statt "uint"? Es ist zwar oft egal, aber ich versuche mich an die Vorgaben zu halten, wenn AutoIt das ermöglicht.

  • Das mit dem DWord kann ich erklären:
    Ich habe mir zuerst eine Dokumentation auf MSDN angeschaut, dort steht es so: DWORD dwDesiredAccess, deswegen nahm ich DWord.
    Nun funktionieren meine ersten zwei Funktionen.
    Vielen Dank!

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.