Benutzen Sie auch das WebBrowser-Control um HTML-Dokumente in Ihrer Anwendung anzuzeigen? Dann hat es Sie doch sicherlich auch schon des öfteren gestört, dass beim Ausdruck immer die im Internet Explorer unter "Seite einrichten" voreingestellten Kopf- und Fußzeilen ausgegeben werden. Durch einen kleinen Eingriff in die Windows-Registry können Sie die Kopf- / Fußzeilen aber auch mal eben schnell ausschalten bzw. eigene Texte verwenden. Der besagte Eintrag befindet sich in der Registry unter "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup" in den Schlüsselwerten "footer" und "header". Gehen wir das Ganze also an. Für den Registry-Zugriff werden folgende API-Deklarationen benötigt: Option Explicit ' 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, _ ByVal lpData As String, _ lpcbData As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32" _ Alias "RegSetValueExA" ( _ ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Any, _ ByVal lpData As Any, _ ByVal cbData As Long) As Long Private Declare Function RegCloseKey Lib "advapi32.dll" ( _ ByVal hKey As Long) As Long Public Const HKEY_CURRENT_USER = &H80000001 Public Const KEY_QUERY_VALUE = &H1 Public Const KEY_SET_VALUE = &H2 Public Const REG_SZ = 1 Public Const ERROR_SUCCESS = 0& ' Registry-Zweig öffnen Private Function OpenKey(ByVal lhKey As Long, ByVal SubKey As String, _ ByVal Options As Long) As Long Dim lhKeyOpen As Long Dim lResult As Long lhKeyOpen = 0 lResult = RegOpenKeyEx(lhKey, SubKey, 0, Options, lhKeyOpen) If lResult <> ERROR_SUCCESS Then OpenKey = 0 Else OpenKey = lhKeyOpen End If End Function ' Wert aus der Registerdatenbank auslesen Public Function GetValueEx(ByVal hKey As Long, ByVal KeyName As String, _ ByVal EntryName As String) As String Dim sBuffer As String Dim nLen As Long Dim lhKeyOpen As Long Dim lResult As Long sBuffer = Space$(255) nLen = Len(sBuffer) lhKeyOpen = OpenKey(hKey, KeyName, KEY_QUERY_VALUE) lResult = RegQueryValueEx(lhKeyOpen, EntryName, 0, REG_SZ, sBuffer, nLen) If lResult = 0 Then sBuffer = Left$(sBuffer, nLen) If InStr(sBuffer, Chr$(0)) > 0 Then sBuffer = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1) End If GetValueEx = RTrim$(sBuffer) Else GetValueEx = "" End If RegCloseKey (lhKeyOpen) End Function ' Wert in Registrierdatenbank schreiben Public Function SetValueEx(lhKey&, SubKey$, EntryName$, sValue$) As Boolean Dim lhKeyOpen As Long Dim lResult As Long lhKeyOpen = OpenKey(lhKey, SubKey, KEY_SET_VALUE) lResult = RegSetValueEx(lhKeyOpen, EntryName, 0, CLng(REG_SZ), sValue, Len(sValue)) If lResult <> ERROR_SUCCESS Then SetValueEx = False Else SetValueEx = True RegCloseKey (lhKeyOpen) End If End Function Was den Registryzugriff betrifft haben wir mit obigen Code schon alles, was wir benötigen. Um nun die Kopf-/Fußzeilen auszuschalten, setzen wir einfach die beiden Registry-Werte auf einen "Leerstring". Am besten wir merken uns vor dem Ausdruck aber die Originalwerte, um diese dann später wiederherstellen zu können. Dim sFooter As String Dim sHeader As String ' ursprüngliche Werte merken sFooter = GetValueEx(HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\PageSetup", "footer") sHeader = GetValueEx(HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\PageSetup", "header") ' Kopf-/Fußzeilen ausschalten SetValueEx HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\PageSetup", "footer", "" SetValueEx HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\PageSetup", "header", "" ' HTML-Dokument ausdrucken ... ' ursprüngliche Werte wiederherstellen SetValueEx HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\PageSetup", "footer", sFooter SetValueEx HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\PageSetup", "header", sHeader Dieser Tipp wurde bereits 11.701 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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
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. |