COM-Steuerung programmieren

  • Hallo, kann mir jemand sagen wie ich mein Programm so programmieren kann, dass ich es über COM ansprechen kann?

    Vielen Dank fürs Lesen und Beantworten

    2 Mal editiert, zuletzt von kloklo (15. September 2009 um 13:41)

  • Ja und damit ich Variablen an ein laufendes Programm übergeben kann ohne sie in Dateien zwischenzuspeichern.

  • Hier schau mal: http://progandy.co.cc/index.php/comp…/id,24/lang,de/

    Ich weiss aber nicht wie das genau umzusetzen ist oder ob du sowas überhaupt suchst.
    Um einfach Variablen an ein Skript zu übergeben erscheint mir das auch etwas überdimensioniert.

    Funktionen aufrufen kannst du z.B. so:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    Global $eventCount = 0
    $Form1 = GUICreate("nuts", 633, 454, 193, 115)
    GUICtrlCreateButton("Nuts", 10, 10)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_ende')
    GUISetState(@SW_SHOW)

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

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
    While 1
    Sleep(100)
    WEnd

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

    Func _ende()
    Exit
    EndFunc

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $hWndEdit
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

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

    #cs erklärung msg
    WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    $hWnd ; - Handle des Fensters, das die Nachricht bringt
    $iMsg ; - die Nachricht
    $iwParam ; - DWORD-Wert
    ; Lo = ID des Ctrl, das die Nachricht bringt
    ; Hi = Code der Nachricht
    $ilParam ; - Handle des Ctrl, das die Nachricht bringt
    #ce

    [/autoit]


    Die Fremdsoftware (zweites Skript) muss dann eine WM_Command Message an das entsprechende Fenster schicken.