Announcement

Collapse
No announcement yet.

bereits geladene DLL von externer exe ansprechen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • bereits geladene DLL von externer exe ansprechen

    hallo,

    habe folgendes problem.

    ich habe eine textverarbeitung in eine dll gepackt die durch eine kleine exe oder aus anderen programmen gestartet werden kann.

    verlinkt man die exe mit dem explorer, so erkennt die exe die textdatei als übergebenen parameter und startet damit die dll die diese datei in einem mdi-fenster anzeigt.
    soweit so gut, nur wenn die exe mit der dll schon läuft und ich eine weitere textdatei via explorer starte(oder die exe mit parameter aufrufe), so wird natürlich die exe mit dll ein zweites mal gestartet. es währe schön wenn (like winword), die zweite textdatei als mdi-fenster in der bereits laufenden dll geöffnet werden kann.

    hat jemand ne idee wie ich das problem angehen kann?

    danke
    hans

  • #2
    Deine Frage hat eigentlich nichts mit DLLs zu tun? Suche mal nach CreateMutex. Du müsstest Beispiele finden, wie man das doppelte Starten von Anwendungen verhindert. Die Nobelvariante war dann das Selektieren des bereits geladenen Fensters.<p>
    Mari
    Schöne Grüße, Mario

    Comment


    • #3
      hallo mario,
      mit createmutex habe ich es schon versucht, bin allerdings nicht weiter gekommen. Ich konnte nur feststellen, dass die exe bereits läuft und wie weiter? hast du da einen tip?

      gruß
      han

      Comment


      • #4
        Beitrag 36 könnte interessant sein:
        http://www.entwickler-forum.de/WebX?128@@.ee8c498<p>
        Mari
        Schöne Grüße, Mario

        Comment


        • #5
          hallo mario,

          danke für den link. der beitrag 36 hat einen recht interessanten inhalt, allerdings kann ich darin nicht finden wie ich einer bereits laufenden exe einen parameter zuweisen kann. oder sehe ich den wald von lauter bäumen nicht?

          gruß
          han

          Comment


          • #6
            Direkt geht es nicht, da die Anwendung ja schon läuft. Du kannst in diesem Falle aber in Deiner Anwendung eine Reaktion auf Nachrichten einbauen. Sprich, wenn Du Deine Anwendung als aktiv gefunden hast, sendest Du dieser noch eine Nachricht mit dem Parameter. Deine App muss dann nur entsprechend darauf reagieren.<p>
            Mari
            Schöne Grüße, Mario

            Comment


            • #7
              hi mario,

              danke für den tip. wie sendet man einer laufenden app eine nachricht mit string oder pchr parameter? nach welchen stichwörter soll ich im forum suchen? oder kennst du einen link?

              han

              Comment


              • #8
                Messages sendet man mit SendMessage. Das Handle dafür sollte Dir das Listing in #36 liefern. Einfach mal eine Message definieren und auf diese regieren und erst mal nur Showmessage anzeigen, ob es klappt. Dann kannst Du mal in der Richtung von DLL und PChar suchen. In der Richtung sollten sich Beispiele finden lassen, wie man Stringspeicher reserviert, mittels PChar übergibt und wieder freigibt.<p>
                Das Win32 Buch von A.Kosch hast Du nicht zufällig?<p>
                Mari
                Schöne Grüße, Mario

                Comment


                • #9
                  habe mir schon gedacht, dass sendmessage eingesetzt werden soll. werde mal damit experimentieren.
                  das buch win32 von a.kosch habe ich auch zur verfügung und im forum habe ich einen ähnlichen beitrag gefunden, der sich allerdings auf c++ builder bezieht.

                  gruß
                  han

                  Comment


                  • #10
                    Im Buch von A. Kosch ist das Senden von Nachrichten an andere Anwendungen, in Deinem Falle Deine eigene, gezeigt. Auch das Arbeiten mit PChars statt String müsste dort drin gut zu finden sein.<p>Mari
                    Schöne Grüße, Mario

                    Comment

                    Working...
                    X