From 8318453bf9d4fd50b137ff6c6fc8d1fd22aa6395 Mon Sep 17 00:00:00 2001 From: Daniel Wilhelm Date: Fri, 18 Apr 2014 17:07:15 +0200 Subject: 3.7 --- library/Taskbar_Seven/Taskbar_Seven.vcproj | 409 ----------------------------- library/Taskbar_Seven/dllmain.cpp | 27 -- library/Taskbar_Seven/taskbar.cpp | 160 ----------- library/Taskbar_Seven/taskbar.h | 62 ----- 4 files changed, 658 deletions(-) delete mode 100644 library/Taskbar_Seven/Taskbar_Seven.vcproj delete mode 100644 library/Taskbar_Seven/dllmain.cpp delete mode 100644 library/Taskbar_Seven/taskbar.cpp delete mode 100644 library/Taskbar_Seven/taskbar.h (limited to 'library/Taskbar_Seven') diff --git a/library/Taskbar_Seven/Taskbar_Seven.vcproj b/library/Taskbar_Seven/Taskbar_Seven.vcproj deleted file mode 100644 index bf8e0993..00000000 --- a/library/Taskbar_Seven/Taskbar_Seven.vcproj +++ /dev/null @@ -1,409 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/library/Taskbar_Seven/dllmain.cpp b/library/Taskbar_Seven/dllmain.cpp deleted file mode 100644 index 7db39bff..00000000 --- a/library/Taskbar_Seven/dllmain.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// ************************************************************************** -// * This file is part of the FreeFileSync project. It is distributed under * -// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * -// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) * -// ************************************************************************** -// - -#define WIN32_LEAN_AND_MEAN -#include - - -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved - ) -{ - switch (ul_reason_for_call) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } - return TRUE; -} - diff --git a/library/Taskbar_Seven/taskbar.cpp b/library/Taskbar_Seven/taskbar.cpp deleted file mode 100644 index 4baf2392..00000000 --- a/library/Taskbar_Seven/taskbar.cpp +++ /dev/null @@ -1,160 +0,0 @@ -// ************************************************************************** -// * This file is part of the FreeFileSync project. It is distributed under * -// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * -// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) * -// ************************************************************************** -// -#include "taskbar.h" - -#define WIN32_LEAN_AND_MEAN -#include "windows.h" -#include - -#include -#include -#include - - -namespace -{ -void writeString(const std::wstring& input, wchar_t* output, size_t outputBufferLen) -{ - const size_t newSize = min(input.length() + 1, outputBufferLen); //including null-termination - memcpy(output, input.c_str(), newSize * sizeof(wchar_t)); - output[newSize-1] = 0; //if output buffer is too small... -} - - -std::wstring numberToHexString(const long number) -{ - wchar_t result[100]; - swprintf(result, 100, L"0x%08x", number); - return std::wstring(result); -} - - -std::wstring writeErrorMsg(const wchar_t* input, HRESULT hr) -{ - std::wstring output(input); - output += L" ("; - output += numberToHexString(hr); - output += L": "; - output += _com_error(hr).ErrorMessage(); - output += L")"; - return output; -} - - -using TaskbarSeven::TBHandle; -typedef std::map TaskBarHandleMap; - -TaskbarSeven::TBHandle generateHandle() -{ - static TBHandle handle = 0; - return ++handle; //don't return 0! 0 is reserved for indicating failure -} - -TaskBarHandleMap taskBarHandles; - -std::wstring lastErrorMessage; -} -//################################################################################################## - - -TaskbarSeven::TBHandle TaskbarSeven::init() //call on app initializaiton; returns handle -{ - ITaskbarList3* pto = NULL; - HRESULT hr = CoCreateInstance(CLSID_TaskbarList, - NULL, - CLSCTX_ALL, - IID_PPV_ARGS(&pto)); - if (FAILED(hr)) - { - lastErrorMessage = writeErrorMsg(L"Error calling \"CoCreateInstance\".", hr); - return 0; - } - - TBHandle newHandle = ::generateHandle(); - taskBarHandles[newHandle] = pto; - return newHandle; -} - - -void TaskbarSeven::release(TBHandle handle) //release handle on app exit -{ - TaskBarHandleMap::const_iterator iter = taskBarHandles.find(handle); - if (iter != taskBarHandles.end()) - { - if (iter->second != NULL) - iter->second->Release(); - taskBarHandles.erase(iter); - } -} - - -bool TaskbarSeven::setStatus(TBHandle handle, - void* hwnd, //HWND: window assciated to the taskbar icon - TaskBarStatus status) -{ - TBPFLAG flag = TBPF_NORMAL; - switch (status) - { - case STATUS_NOPROGRESS: - flag = TBPF_NOPROGRESS; - break; - case STATUS_INDETERMINATE: - flag = TBPF_INDETERMINATE; - break; - case STATUS_NORMAL: - flag = TBPF_NORMAL; - break; - case STATUS_ERROR: - flag = TBPF_ERROR; - break; - case STATUS_PAUSED: - flag = TBPF_PAUSED; - break; - } - - ITaskbarList3* pto = taskBarHandles[handle]; - if (pto) - { - HRESULT hr = pto->SetProgressState(static_cast(hwnd), //[in] HWND hwnd, - flag); //[in] TBPFLAG tbpFlags - if (FAILED(hr)) - { - lastErrorMessage = writeErrorMsg(L"Error calling \"SetProgressState\".", hr); - return false; - } - } - return true; -} - - -bool TaskbarSeven::setProgress(TBHandle handle, - void* hwnd, //HWND: window assciated to the taskbar icon - size_t current, - size_t total) -{ - ITaskbarList3* pto = taskBarHandles[handle]; - - if (pto) - { - HRESULT hr = pto->SetProgressValue( - static_cast(hwnd), //[in] HWND hwnd, - current, //[in] ULONGLONG ullCompleted, - total); //[in] ULONGLONG ullTotal - if (FAILED(hr)) - { - lastErrorMessage = writeErrorMsg(L"Error calling \"SetProgressValue\".", hr); - return false; - } - } - return true; -} - - -void TaskbarSeven::getLastError(wchar_t* errorMessage, size_t errorBufferLen) -{ - writeString(lastErrorMessage, errorMessage, errorBufferLen); -} diff --git a/library/Taskbar_Seven/taskbar.h b/library/Taskbar_Seven/taskbar.h deleted file mode 100644 index 835f02ec..00000000 --- a/library/Taskbar_Seven/taskbar.h +++ /dev/null @@ -1,62 +0,0 @@ -// ************************************************************************** -// * This file is part of the FreeFileSync project. It is distributed under * -// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * -// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) * -// ************************************************************************** -// -#ifndef TASKBAR_SEVEN_DLL_H -#define TASKBAR_SEVEN_DLL_H - -#ifdef TASKBAR_SEVEN_DLL_EXPORTS -#define DLL_FUNCTION_DECLARATION extern "C" __declspec(dllexport) -#else -#define DLL_FUNCTION_DECLARATION extern "C" __declspec(dllimport) -#endif - - -namespace TaskbarSeven -{ -enum TaskBarStatus -{ - STATUS_NOPROGRESS, - STATUS_INDETERMINATE, - STATUS_NORMAL, - STATUS_ERROR, - STATUS_PAUSED -}; - -typedef size_t TBHandle; - - -//COM needs to be initialized before calling any of these functions! CoInitializeEx/CoUninitialize -DLL_FUNCTION_DECLARATION -TBHandle init(); //returns handle; 0 on failure - -DLL_FUNCTION_DECLARATION -void release(TBHandle handle); //release taskbar handle - -DLL_FUNCTION_DECLARATION -bool setStatus(TBHandle handle, - void* hwnd, //HWND: window assciated to the taskbar icon - TaskBarStatus status); - - -DLL_FUNCTION_DECLARATION -bool setProgress(TBHandle handle, - void* hwnd, //HWND: window assciated to the taskbar icon - size_t current, - size_t total); - -//if any of the functions above returns 'false', this message returns last error -void getLastError(wchar_t* errorMessage, size_t errorBufferLen); - - -//function typedefs -typedef TBHandle (*initFct)(); -typedef void (*releaseFct)(TBHandle handle); -typedef bool (*setStatusFct)(TBHandle handle, void* hwnd, TaskBarStatus status); -typedef bool (*setProgressFct)(TBHandle handle, void* hwnd, size_t current, size_t total); -typedef void (*getLastErrorFct)(wchar_t* errorMessage, size_t errorBufferLen); -} - -#endif //TASKBAR_SEVEN_DLL_H \ No newline at end of file -- cgit