Hi,
basierend auf einem Example mit AutoItObject habe ich mir mal die Mühe gemacht, einen Teil des ITaskBar-Interfaces mit AutoIt-Funktionen zu wrappern.
Da mir das aber zu sperrig zu handhaben war, habe ich noch ein paar Extras mit eingebaut, um das Handling zu verbessern. So können die ThumbBar-Buttons ganz normal per GUIGetMsg oder GUICtrlSetOnEvent behandelt werden.
Erst später habe ich dann diesen Thread im EN-Forum gesehen: http://www.autoitscript.com/forum/topic/11…thods-included/
Aber gut, ist ja nicht schlimm. Doppelt hält besser.
Eine Dokumentation (Englisch) der Funktionen findet ihr hier, die HTM-Datei ist auch nochmal im angehängten ZIP-Ordner.
Hier mal kurz die Example-Datei:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
Copyright (C) 2014 Sebastian Walter (chesstiger)
[/autoit] [autoit][/autoit] [autoit]This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
AutoIt Version: 3.3.10.2
[/autoit] [autoit][/autoit] [autoit]#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <Constants.au3>
#include <GuiImageList.au3>
#include <WinAPIRes.au3>
#include "ThumbBarButtons.au3"
$hWnd = GUICreate("blub")
GUISetState()
$hImage = _GUIImageList_Create(16, 16)
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hWnd, 0xff0000, 16, 16))
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hWnd, 0x0000ff, 16, 16))
_GUIImageList_Add($hImage, _WinAPI_LoadImage(0, "icon.bmp", $IMAGE_BITMAP, 16, 16, $LR_LOADFROMFILE))
$hIcon = _WinAPI_LoadShell32Icon(25)
[/autoit] [autoit][/autoit] [autoit]_TBB_Init()
[/autoit] [autoit][/autoit] [autoit]_TBB_Create($hWnd, 3)
$cTaskbar1 = _TBB_SetButton($hWnd, 1, "Hello", $THBF_ENABLED)
$cTaskbar2 = _TBB_SetButton($hWnd, 2, "Hi", $THBF_ENABLED, $hIcon)
$cTaskbar3 = _TBB_SetButton($hWnd, 3, "Blub", $THBF_ENABLED)
_TBB_Update($hWnd, $hImage)
While True
Switch GUIGetMsg()
Case -3
ConsoleWrite("Exit" & @LF)
_TBB_Shutdown()
Exit
Case $cTaskbar1
ConsoleWrite("Button 1" & @LF)
GUISetBkColor(0xff0000)
Case $cTaskbar2
ConsoleWrite("Button 2" & @LF)
GUISetBkColor(0x0000ff)
Case $cTaskbar3
ConsoleWrite("Button 3" & @LF)
GUISetBkColor(0x00ff00)
EndSwitch
WEnd
Die ganze UDF basiert auf ObjCreateInterface, und hier möchte ich nochmal auf einen Hinweis aus der Hilfe hinweisen:
Zitat von EN-Hilfe
Warning: This feature is experimental. It may not work, may contain bugs or may be changed or removed without notice.
Ihr wurdet gewarnt.
Getestet wurde die UDF mit Windows 7 32- und 64-Bit, mit AutoIt 3.3.10.0 und 3.3.10.2. Zur Kompatibilität mit der derzeitigen Stable 3.3.8.1 kann ich leider nichts sagen, ich würde mich über Rückmeldungen diesbezüglich freuen.
Edit: Ups, Lizenzhinweise vergessen. Das ganze steht unter der GNU General Public License Version 3 (GPLv3).
Wie immer: Fehler, Anregungen und Wünsche -> Immer her damit.
Gruß
chesstiger