Zwei Programme Sychronisieren?



  • Hi, in einem Programm kann ich meinen Thread via mutex oder via Critical-section. Nur wie kann ich das mit einem externen Programm regeln?

    Evt. kann man das Via registry einträgen oder eine Datei machen, die man öffnet und wieder schließt.

    Oder jemand eine andere Idee? 🙂



  • Verb vergessen? Ich kann nicht wirklich rauslesen, was dein Problem ist.



  • mutex, semaphoren, events, was auch immer...wo ist das problem!?



  • Ganz einfach. Ich habe ein Programm, das zweimal gestartet wird. Jetzt will ich, dass das zweite Programm wartet, bis das erste beendet ist. D.h. ich muss zwei Programme (unabhängig von einander) sychronisieren.



  • Wie bereits erwähnt mit Mutex, Sempahoren, Events, jedoch muss darauf geachtet werden, dass diese Kernel Objekte einen Namen erhalten (beim Erzeugen angeben).



  • Ah, okay. D.h. wenn ich einen Mutex mit dem namen, "Systemübergreifend" kann ich das ebenfalls in anderem Programmen verwenden?

    HANDLE WINAPI CreateMutex(
      __in_opt  LPSECURITY_ATTRIBUTES lpMutexAttributes,
      __in      BOOL bInitialOwner,
      __in_opt  LPCTSTR lpName
    );
    

    seh ich das richtig?



  • okay, folgendes steht in der docu:

    he name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces. Fast user switching is implemented using Terminal Services sessions. Kernel object names must follow the guidelines outlined for Terminal Services so that applications can support multiple users.
    
        Windows 2000:  If Terminal Services is not running, the "Global\" and "Local\" prefixes are ignored. The remainder of the name can contain any character except the backslash character.
    
    The object can be created in a private namespace. For more information, see Object Namespaces.
    

    Wer das mal ausprobieren.. Erstmal besten Dank für euere Hilfe 👍



  • dann benutz einfach WaitForSingleObject wenn es nur darum


Anmelden zum Antworten