Programminstanz herausfinden?
-
Hi,
gibt es irgendeine Funktion alá
HINSTANCE GetInstance (void);???
p.s.: Ich habe kein HWND

-
Mir fallen da atm nur 2 Möglichkeiten ein:
1. Du erstellst eine Prozesssnapshot und suchst den Programmnamen darin.
2. Du erstellst zb. eine Tempdatei die du ausliest und immer um 1 erhöhst, wenn
das Programm schließt um 1 verringern.Für die letzte Möglichkeit wird nicht die Winapi benötigt nur mal als Hinweiß

-
GetModuleHandle(...)
-
Bin mir grad etwas unsicher, wann genau jetzt das HMODULE mit HINSTANCE übereinstimmt, aber versuch es mal mit GetModuleHandle(NULL)

edit: da war wohl jemand schneller

-
HMODULE und HINSTANCE sind schon seit spätestens Win95 das gleiche, ds rührt nur noch aus Win3.1 oder Win1.0 Zeiten her.
-
Die WinAPI Doku macht es sogar noch etwas deutlicher:
This type is declared in WinDef.h as follows:
typedef HINSTANCE HMODULE;
-
groovemaster schrieb:
Die WinAPI Doku macht es sogar noch etwas deutlicher:
This type is declared in WinDef.h as follows:
typedef HINSTANCE HMODULE;Das hatte ich auch gefunden, aber nur weil die vom Typ her identisch sind, muss ja nicht auch der Inhalt gleich sein

-
Das dem aber so ist, hat ja quotier schon geschrieben. Ich wollte nur zeigen, dass auch von der Implementation beide Typen das gleiche beschreiben.

-
Hi!
Ein spontaner Vorschlag:
Du erstellst für jede Instanz ein Mutex mit dem Namen "Instanz-n".
An die Stelle von 'n' kommt immer ne Nummer. Beim starten schaut jede instanz nach (mit ner for-schleife z.b.) welche Mutex-Objekte es schon gibt.Nachteil: Wenn Instanzen die früher gestartet worden nicht auch wirklich früher beendet werden kommt es zu 'Missverständnissen' im Programm.
MfG.
-
Tolga. schrieb:
Hi!
Ein spontaner Vorschlag:
Du erstellst für jede Instanz ein Mutex mit dem Namen "Instanz-n".
An die Stelle von 'n' kommt immer ne Nummer. Beim starten schaut jede instanz nach (mit ner for-schleife z.b.) welche Mutex-Objekte es schon gibt.Nachteil: Wenn Instanzen die früher gestartet worden nicht auch wirklich früher beendet werden kommt es zu 'Missverständnissen' im Programm.
MfG.
Super

Und auf welche Frage war das die Antwort?
