1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:

Nur für 32Bit Office Versionen

Wie kann ich aus Access heraus eine ActiveX-Datei Registrieren bzw. Deregistrieren?

Folgenden Code in öffentliches Modul kopieren:

Public Declare Function LoadLibrary _
     Lib "kernel32" Alias "LoadLibraryA" ( _
     ByVal lpLibFileName As String) As Long
 
Public Declare Function FreeLibrary _
     Lib "kernel32" ( _
     ByVal hLibModule As Long) As Long
 
Public Declare Function GetProcAddress _
     Lib "kernel32" ( _
     ByVal hModule As Long, _
     ByVal lpProcName As String) As Long
 
Public Declare Function CreateThread Lib "kernel32" ( _
     lpThreadAttributes As Any, _
     ByVal dwStackSize As Long, _
     ByVal lpStartAddress As Long, _
     ByVal lParameter As Long, _
     ByVal dwCreationFlags As Long, _
     lpThreadID As Long) As Long
 
Public Declare Sub ExitThread Lib "kernel32" ( _
     ByVal dwExitCode As Long)
 
Public Declare Function WaitForSingleObject _
     Lib "kernel32" ( _
     ByVal hHandle As Long, _
     ByVal dwMilliseconds As Long) As Long
 
Public Declare Function GetExitCodeThread _
     Lib "kernel32" ( _
     ByVal hThread As Long, _
     lpExitCode As Long) As Long
 
Public Declare Function CloseHandle _
     Lib "kernel32" ( _
     ByVal hObject As Long) As Long
 
Public Function RegisterLibrary(sFile As String, _
     ByVal bRegister As Boolean) As Boolean
 
    Dim bolRet As Boolean
     Dim lngLib As Long
     Dim strProc As String
     Dim lngRet1 As Long
     Dim lngRet2 As Long
     Dim lngThread As Long
 
    On Local Error GoTo RegisterLibrary_Error
 
    bolRet = False
     lngLib = LoadLibrary(sFile)
 
    If lngLib > 0 Then
         strProc = IIf(bRegister, "DllRegisterServer", _
             "DllUnregisterServer")
         lngRet1 = GetProcAddress(lngLib, strProc)
         If lngRet1 > 0 Then
             lngThread = CreateThread(ByVal 0, 0, ByVal lngRet1, _
                 ByVal 0, 0, lngRet2)
             If lngThread > 0 Then
                 lngRet2 = WaitForSingleObject(lngThread, 10000)
                 If lngRet2 > 0 Then
                     Call FreeLibrary(lngLib)
                     lngRet2 = GetExitCodeThread(lngThread, lngRet2)
                     Call ExitThread(lngRet2)
                     Exit Function
                 End If
                 Call CloseHandle(lngThread)
                 bolRet = True
             End If
         End If
         Call FreeLibrary(lngLib)
     End If
 
RegisterLibrary_Error:
     RegisterLibrary = bolRet
 
End Function

Aufruf z.B. zum Registrieren:

If RegisterLibrary("C:\Windows\System32\Deine.dll", True) Then
     MsgBox "Datei wurde erfolgreich regisriert"
Else
     MsgBox "Bei der Registrierung trat ein Fehler auf"
End If

Aufruf z.B. zum Deregistrieren:

If RegisterLibrary("C:\Windows\System32\Dein.ocx", False) Then
     MsgBox "Datei wurde erfolgreich deregisriert"
Else
     MsgBox "Bei der Deregistrierung trat ein Fehler auf"
End If
 

 

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Nur für 32Bit Office Versionen Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool...
1.png6.png5.png3.png8.png8.png5.png
Heute123
Gestern243
Diese Woche123
Dieser Monat2067
Total1653885

  • IP: 18.97.9.169
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

3
Online

09. Dezember 2024

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...