Überprüfen ob DLL (ActiveX) bereits registriert ist



  • Hi,

    ich registriere eine DLL, die ein ActiveX-Element bereitstellt wie folgt auf dem System:

    typedef int (__stdcall* fDllRegisterServer) (); 
    	HINSTANCE hInst; 
    	hInst = LoadLibrary("C:\\Debug\\split.dll"); 
    	fDllRegisterServer fdreg = GetProcAddress(hInst, "DllRegisterServer");    
    	int res = fdreg (); 
    
    	FreeLibrary(hInst);
    

    Ich möchte nun aber nicht jedesmal das System damit belasten und daher vorab
    prüfen können, ob die DLL evtl. bereits registriert ist.
    Hat jemand eine Idee wie man das anstellen kann?

    Denn irgendwie muss ich ja abfangen, ob irgendwann bei einer Installation
    schonmal die DLL registriert wurde. Problem ist auch, dass die EXE durchaus
    auf einem Terminal-Server liegen kann, aber auch von einem Client (Notebook)
    gestartet werden darf, dass sich in das Netz einklinkt (und da ist u.U. die
    DLL nicht registriert).

    Oder ist der obige Code unbedenklich, wenn ich ihn bei jedem Start der Anwendung mitlaufen lasse? Ist aber unschön 🙄



  • Ich habe es bereits gelöst. Musste nur das Dispatch abfragen.

    Bei der zugekauften DLL wundert mich momentan, dass sie nicht
    im Visual Studio unter den ActiveX-Elementen sichtbar ist.
    Ich dachte immer da sind ALLE ActiveX zu finden 😕 😮


Anmelden zum Antworten