IE-erweitern um eine Symbolleiste

  • VB6

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Unknown.

    IE-erweitern um eine Symbolleiste

    Hallo,
    ich habe Visual Studio 6.
    Wie kann ich den Internet-Explorer um eine Symbolleiste erweitern?
    ich möchte eine ActiveX(???) schreiben, die das ermöglicht. Diese ActiveX möchte ich anderen zur Verfügung stellen, verpacken(als .CAB) und auf einen Server hochladen. Beim Benutzer auf seinem Rechner soll das Internet-Explorer um diese Symbolleiste erweitert werden. Der IE lädt diese Komponente bei Bedarf. Diese fügt einen Menüeintrag zum aktivieren der Symbolleiste(Inklusive Eintrag in der Registry).

    Hat jemand eine Idee???

    Wie kann ich den Internet-Explorer um eine Symbolleiste erweitern?
    ich möchte eine ActiveX(???) schreiben, die das ermöglicht. [...]
    Der IE lädt diese Komponente bei Bedarf.
    Diese fügt einen Menüeintrag zum aktivieren der Symbolleiste(Inklusive Eintrag in der Registry).


    Möchtest du ein ActiveX-Objekt (DLL oder Control)
    schreiben, dass anschließend im Internet Explorer
    verfügbar sein soll oder ein Programm, dass
    ActiveX-Objekte in die Internet Explorer Symbolleste
    einfügen soll ?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Unknown“ ()

    Ich verstehe nicht ganz, warum es eine ActiveX-
    Komponente sein muss. Wenn du auf den Button
    in der Symbolleiste clicken würdest und eine
    ActiveX-Komponente wäre hinterlegt, würde das
    dazu führen, dass das Programm, welches standardmäßig
    zum öffnen einer DLL oder OCX benutzt wird, startet.
    Ich nehme aber mal an, du willst, dass dein Programm
    gestartet wird, sobald auf den Button geclickt wird ?
    Dann musst du eine normale EXE-Datei erstellen.
    In der kannst du dann z.B. ins Form_Load() Ereignis
    folgenden Code schreiben, der dein Programm ins
    IE Menü hinzufügt. Einen GUID musst du dir übrigens
    noch erstellen:

    <pre>
    Const AppGUID As String = "DEINGUID"

    Private Sub Form_Load()
    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "CLSID", "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}", REG_HKEY_LOCAL_MACHINE

    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "Default Visible", "YES", REG_HKEY_LOCAL_MACHINE

    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "Exec", "ProgrammPfad", REG_HKEY_LOCAL_MACHINE

    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "Icon", "ProgrammPfad,1", REG_HKEY_LOCAL_MACHINE

    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "HotIcon", "ProgrammPfad,1", REG_HKEY_LOCAL_MACHINE

    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "MenuText", "Name", REG_HKEY_LOCAL_MACHINE

    RegSetKey "SOFTWARE\Microsoft\Internet Explorer\Extensions\" & AppGUID, _
    "ButtonText", "Name", REG_HKEY_LOCAL_MACHINE
    End Sub

    '*======================*
    'Das hier muss in ein Modul:
    '*======================*
    Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey _
    As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long

    Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey _
    As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

    Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

    Enum CONST_Registry
    REG_HKEY_LOCAL_MACHINE = &H80000002
    REG_HKEY_CLASSES_ROOT = &H80000000
    REG_HKEY_USERS = &H80000003
    REG_HKEY_CURRENT_USER = &H80000001
    REG_CURRENT_CONFIG = &H80000005
    End Enum


    Private Const HKEY_LOCAL_MACHINE = &H80000002
    Private Const HKEY_CLASSES_ROOT = &H80000000
    Private Const HKEY_USERS = &H80000003
    Private Const HKEY_CURRENT_USER = &H80000001
    Private Const HKEY_PERFORMANCE_DATA = &H80000004
    Private Const HKEY_DYN_DATA = &H80000006
    Private Const HKEY_CURRENT_CONFIG = &H80000005

    Private Const KEY_ALL_ACCESS = &HF003F
    Private Const REG_EXPAND_SZ = 2

    Function RegSetKey(Section As String, Key As String, Value As String, Registry As CONST_Registry) As String
    Dim RetVal As Long
    Dim hKey As Long

    If Right$(Value, 1) <> Chr$(0) Then
    Value = Value & Chr$(0)
    End If

    RetVal = RegOpenKeyEx(Registry, _
    Section, 0&, KEY_ALL_ACCESS, hKey)

    If RetVal <> 0 Then
    RegSetKey = False
    Exit Function
    End If

    RetVal = RegSetValueEx(hKey, Key, 0, REG_EXPAND_SZ, _
    ByVal Value, Len(Value))

    If RetVal <> 0 Then
    RegSetKey = False
    Exit Function
    End If

    RegSetKey = Left$(Value, _
    InStr(1, Value, vbNullChar) - 1)

    RetVal = RegCloseKey(hKey)
    End Function
    </pre>