- Offizieller Beitrag
Hi,
das ist mein letztes "Verbrechen" in diesem Jahr
Es lassen sich in Vorschaubildern die Bookmarks anschauen. Es kann aber durchaus sein, dass noch keine Thumbshots für die entsprechende Seite erstellt wurden. Dann geht zumindest der Aufruf an thumbshots.de und bei einem späteren Aufruf liegt es dann (wahrscheinlich) vor.
Es sind 3 Bilder übereinander, das aktuelle in der Mitte, drüber das vorige, drunter das nächste. Viel Spaß damit.
Und Dank an https://autoit.de/www.thumbshots.de für den Service.
Spoiler anzeigen
#include <StructureConstants.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <GUIConstantsEx.au3>
#include <SliderConstants.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
;#################### HIER DEN PFAD ZU EURER BOOKMARK-DATEI EINTRAGEN !!! #####################################
Local $bookmarks = FileRead(@UserProfileDir & '\Anwendungsdaten\BROWSER\default\PROFIL\bookmarks.html') ;#
;#################################################################################################################
If $bookmarks = -1 Then Exit MsgBox(0, 'FEHLER', 'Es wurde keine Bookmark-Datei gelesen!')
Local $patternLink = '(?:(?:HREF|href)=")(https?://[\w\d\-/:?!=.,;(){}&#%~]*)(?>")'
Local $gui, $GUIThumb_1, $GUIThumb_2, $GUIThumb_3
Global $aBookmarks = StringRegExp($bookmarks, $patternLink, 3)
Global $ListView, $hListView, $oIE_1, $oIE_2, $oIE_3, $slider, $msg
$oIE_1 = _IECreateEmbedded()
$oIE_2 = _IECreateEmbedded()
$oIE_3 = _IECreateEmbedded()
$gui = GUICreate('Bookmark ThumbShot', 600, 398, -1, -1, BitOR($WS_OVERLAPPEDWINDOW,$WS_VISIBLE,$WS_CLIPSIBLINGS,$WS_CLIPCHILDREN))
$GUIThumb_1 = GUICtrlCreateObj($oIE_1, 10, 10, 166, 126)
$GUIThumb_2 = GUICtrlCreateObj($oIE_2, 10, 136, 166, 126)
$GUIThumb_3 = GUICtrlCreateObj($oIE_3, 10, 262, 166, 126)
_IENavigate($oIE_1, 'about:blank')
_IENavigate($oIE_2, 'about:blank')
_IENavigate($oIE_3, 'about:blank')
$slider = GUICtrlCreateSlider(186, 10, 20, 378, BitOR($TBS_VERT,$TBS_NOTICKS))
GUICtrlSetBkColor(-1, 0x0000FF)
GUICtrlSetLimit(-1, UBound($aBookmarks)-1)
$ListView = GUICtrlCreateListView('Meine Bookmarks [' & UBound($aBookmarks) & ']', 216, 10, 374, 378, -1, BitOR($LVS_EX_FULLROWSELECT,$LVS_EX_GRIDLINES))
$hListView = GUICtrlGetHandle($ListView)
_GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE_USEHEADER)
For $i = 0 To UBound($aBookmarks) -1
GUICtrlCreateListViewItem($aBookmarks[$i], $ListView)
Next
_GUICtrlListView_SetItemSelected($hListView, 0)
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
_setThumbs(0)
Do
$msg = GUIGetMsg()
Switch $msg
Case $slider
_sliderMoved()
EndSwitch
Until $msg = $GUI_EVENT_CLOSE
Exit
Func _sliderMoved()
Local $index = GUICtrlRead($slider)
_GUICtrlListView_EnsureVisible($hListView, $index)
_GUICtrlListView_SetItemSelected($hListView, $index)
_setThumbs($index)
EndFunc
Func _setThumbs($INDEX)
Local $blank = '<html><head><title></title></head><body></body></html>'
Select
Case $INDEX = 0
_IEBodyWriteHTML($oIE_1, $blank)
_IEBodyWriteHTML($oIE_2, _sThumbShot($aBookmarks[$INDEX]))
If UBound($aBookmarks) > 1 Then
_IEBodyWriteHTML($oIE_3, _sThumbShot($aBookmarks[$INDEX+1]))
Else
_IEBodyWriteHTML($oIE_3, $blank)
EndIf
Case $INDEX = UBound($aBookmarks) -1
If UBound($aBookmarks) > 1 Then
_IEBodyWriteHTML($oIE_1, _sThumbShot($aBookmarks[$INDEX-1]))
Else
_IEBodyWriteHTML($oIE_1, $blank)
EndIf
_IEBodyWriteHTML($oIE_2, _sThumbShot($aBookmarks[$INDEX]))
_IEBodyWriteHTML($oIE_3, $blank)
Case Else
If UBound($aBookmarks) > 1 Then
_IEBodyWriteHTML($oIE_1, _sThumbShot($aBookmarks[$INDEX-1]))
Else
_IEBodyWriteHTML($oIE_1, $blank)
EndIf
_IEBodyWriteHTML($oIE_2, _sThumbShot($aBookmarks[$INDEX]))
If UBound($aBookmarks) > 1 Then
_IEBodyWriteHTML($oIE_3, _sThumbShot($aBookmarks[$INDEX+1]))
Else
_IEBodyWriteHTML($oIE_3, $blank)
EndIf
EndSelect
EndFunc
Func _sThumbShot($LINK)
Local $sTitle = "'" & $LINK & "'"
Return '<img src="http://www.thumbshots.de/cgi-bin/show.cgi?url=' & $LINK & _
'" border="0" onload="if (this.width>50) this.border=1; this.alt=' & $sTitle & ';">'
EndFunc
Func _LeftClick($INDEX)
GUICtrlSetData($slider, $INDEX)
_sliderMoved()
EndFunc
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_CLICK
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
_LeftClick(DllStructGetData($tInfo, "Index"))
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
So sieht es aus:
http://www.imgbox.de/?img=p6008t219.jpg