Immer wenn Sie den Internet Explorer aufrufen wird ja bekanntlich die in den Systemeinstellungen (Internet Explorer) festgelegte Startseite aufgerufen. Die Startseite selbst wird in der Windows Registry gespeichert - und zwar im Schlüssel: Mit diesem "Wissen" ist es nun ein leichtes die Startseite des IE per VB-Code auszulesen und ggf. neu festzulegen. Alles, was Sie brauchen ist nachfolgender Code, den Sie am besten in ein Modul "packen": Option Explicit ' zunächst alle benötigten API-Deklarationen 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 RegQueryValueEx Lib "advapi32.dll" _ Alias "RegQueryValueExA" ( _ ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal lpReserved As Long, _ lpType As Long, _ lpData As Any, _ lpcbData As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" _ Alias "RegCreateKeyA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ 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 Private Const REG_SZ = 1 ' Registry-Schlüssel Private Const HKEY_CURRENT_USER = &H80000001 ' Zugriff-Codes Private Const KEY_QUERY_VALUE = &H1 ' Ermittelt die URL der aktuellen Startseite im IE Public Function IE_GetStartPage() As String Dim lhKeyOpen As Long Dim lResult As Long Dim sPage As String Dim lDataLen As Long Dim SubKey As String Dim KeyName As String ' SubKey SubKey = "Software\Microsoft\Internet Explorer\Main\" ' Schlüssel öffnen If RegOpenKeyEx(HKEY_CURRENT_USER, SubKey, 0, _ KEY_QUERY_VALUE, lhKeyOpen) = 0 Then ' String-Länge ermitteln KeyName = "Start Page" If RegQueryValueEx(lhKeyOpen, KeyName, 0, _ REG_SZ, ByVal 0, lDataLen) = 0 Then ' String mit Nullzeichen füllen sPage = String(lDataLen, Chr$(0)) ' Startseite auslesen If RegQueryValueEx(lhKeyOpen, KeyName, 0, _ 0, ByVal sPage, lDataLen) = 0 Then sPage = Left$(sPage, InStr(sPage, Chr$(0)) - 1) End If End If ' Schlüssel schliessen RegCloseKey lhKeyOpen End If IE_GetStartPage = sPage End Function ' URL der neuen Startseite des IE speichern Public Function IE_SetStartPage(ByVal sPageNew As String) _ As Boolean Dim lhOpenKey As Long Dim SubKey As String Dim KeyName As String ' SubKey SubKey = "Software\Microsoft\Internet Explorer\Main\" ' Schlüssel öffnen (ggf. erstellen) If RegCreateKey(HKEY_CURRENT_USER, SubKey, _ lhOpenKey) = 0 Then ' Neue Startseite in der Registry speichern KeyName = "Start Page" If RegSetValueEx(lhOpenKey, KeyName, 0, REG_SZ, _ ByVal sPageNew, Len(sPageNew)) = 0 Then ' OK, Eintrag war erfolgreich IE_SetStartPage = True End If ' Schlüssel schliessen RegCloseKey lhOpenKey End If End Function Der Aufruf aus dem Projekt erfolgt dann folgendermassen: ' Startseite des IE auslesen Dim sPage As String sPage = IE_GetStartPage() ' Neue Startseite festlegen If IE_SetStartPage("http://www.vbarchiv.de") Then MsgBox "Eintrag erfolgreich geändert.", 64 Else MsgBox "Startseite konnte nicht eingetragen werden.", 16 End If Dieser Tipp wurde bereits 16.311 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |