-
-
Save m417z/847458fcc75de83b36ed to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef _TTLIB_H_ | |
#define _TTLIB_H_ | |
#pragma once | |
#include <windows.h> | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
#define TTLIBCALL __stdcall | |
////////////////////////////////////////////////////////////////////////// | |
// Initialization | |
#define TTLIB_OK 0 | |
// Errors returned by TTLib_Init | |
enum | |
{ | |
TTLIB_ERR_INIT_ALREADY_INITIALIZED = 1, | |
TTLIB_ERR_INIT_REGISTER_MESSAGE, | |
TTLIB_ERR_INIT_FILE_MAPPING, | |
TTLIB_ERR_INIT_VIEW_MAPPING, | |
}; | |
// Errors returned by TTLib_LoadIntoExplorer | |
enum | |
{ | |
TTLIB_ERR_EXE_NOT_INITIALIZED = 1, | |
TTLIB_ERR_EXE_ALREADY_LOADED, | |
TTLIB_ERR_EXE_FIND_TASKBAR, | |
TTLIB_ERR_EXE_OPEN_PROCESS, | |
TTLIB_ERR_EXE_VIRTUAL_ALLOC, | |
TTLIB_ERR_EXE_WRITE_PROC_MEM, | |
TTLIB_ERR_EXE_CREATE_REMOTE_THREAD, | |
TTLIB_ERR_EXE_READ_PROC_MEM, | |
TTLIB_ERR_INJ_BEFORE_RUN = 101, | |
TTLIB_ERR_INJ_BEFORE_GETMODULEHANDLE, | |
TTLIB_ERR_INJ_BEFORE_LOADLIBRARY, | |
TTLIB_ERR_INJ_BEFORE_GETPROCADDR, | |
TTLIB_ERR_INJ_BEFORE_LIBINIT, | |
TTLIB_ERR_INJ_GETMODULEHANDLE, | |
TTLIB_ERR_INJ_LOADLIBRARY, | |
TTLIB_ERR_INJ_GETPROCADDR, | |
TTLIB_ERR_LIB_INIT_ALREADY_CALLED = 201, | |
TTLIB_ERR_LIB_LIB_VER_MISMATCH, | |
TTLIB_ERR_LIB_WIN_VER_MISMATCH, | |
TTLIB_ERR_LIB_VIEW_MAPPING, | |
TTLIB_ERR_LIB_FIND_IMPORT, | |
TTLIB_ERR_LIB_WND_TASKBAR, | |
TTLIB_ERR_LIB_WND_TASKSW, | |
TTLIB_ERR_LIB_WND_TASKLIST, | |
TTLIB_ERR_LIB_WND_THUMB, | |
TTLIB_ERR_LIB_MSG_DLL_INIT, | |
TTLIB_ERR_LIB_WAITTHREAD, | |
TTLIB_ERR_LIB_EXTHREAD_MINHOOK = 301, | |
TTLIB_ERR_LIB_EXTHREAD_COMFUNCHOOK, | |
TTLIB_ERR_LIB_EXTHREAD_REFRESHTASKBAR, | |
TTLIB_ERR_LIB_EXTHREAD_MINHOOK_APPLY, | |
}; | |
DWORD TTLIBCALL TTLib_Init(); | |
BOOL TTLIBCALL TTLib_Uninit(); | |
DWORD TTLIBCALL TTLib_LoadIntoExplorer(); | |
BOOL TTLIBCALL TTLib_IsLoadedIntoExplorer(); | |
BOOL TTLIBCALL TTLib_UnloadFromExplorer(); | |
////////////////////////////////////////////////////////////////////////// | |
// Manipulation | |
typedef enum | |
{ | |
TTLIB_GROUPTYPE_UNKNOWN = 0, | |
TTLIB_GROUPTYPE_NORMAL, | |
TTLIB_GROUPTYPE_PINNED, | |
TTLIB_GROUPTYPE_COMBINED, | |
TTLIB_GROUPTYPE_TEMPORARY, | |
} TTLIB_GROUPTYPE; | |
BOOL TTLIBCALL TTLib_ManipulationStart(); | |
BOOL TTLIBCALL TTLib_ManipulationEnd(); | |
HANDLE TTLIBCALL TTLib_GetMainTaskbar(); | |
BOOL TTLIBCALL TTLib_GetSecondaryTaskbarCount(int *pnCount); | |
HANDLE TTLIBCALL TTLib_GetSecondaryTaskbar(int nIndex); | |
HWND TTLIBCALL TTLib_GetTaskListWindow(HANDLE hTaskbar); | |
HWND TTLIBCALL TTLib_GetTaskbarWindow(HANDLE hTaskbar); | |
HMONITOR TTLIBCALL TTLib_GetTaskbarMonitor(HANDLE hTaskbar); | |
BOOL TTLIBCALL TTLib_GetButtonGroupCount(HANDLE hTaskbar, int *pnCount); | |
HANDLE TTLIBCALL TTLib_GetButtonGroup(HANDLE hTaskbar, int nIndex); | |
HANDLE TTLIBCALL TTLib_GetActiveButtonGroup(HANDLE hTaskbar); | |
HANDLE TTLIBCALL TTLib_GetTrackedButtonGroup(HANDLE hTaskbar); | |
BOOL TTLIBCALL TTLib_ButtonGroupMove(HANDLE hTaskbar, int nIndexFrom, int nIndexTo); | |
BOOL TTLIBCALL TTLib_GetButtonGroupTaskbar(HANDLE hButtonGroup, HANDLE *phTaskbar); | |
BOOL TTLIBCALL TTLib_GetButtonGroupRect(HANDLE hButtonGroup, RECT *pRect); | |
BOOL TTLIBCALL TTLib_GetButtonGroupType(HANDLE hButtonGroup, TTLIB_GROUPTYPE *pnType); | |
SIZE_T TTLIBCALL TTLib_GetButtonGroupAppId(HANDLE hButtonGroup, WCHAR *pszAppId, SIZE_T nMaxSize); | |
BOOL TTLIBCALL TTLib_GetButtonCount(HANDLE hButtonGroup, int *pnCount); | |
HANDLE TTLIBCALL TTLib_GetButton(HANDLE hButtonGroup, int nIndex); | |
HANDLE TTLIBCALL TTLib_GetActiveButton(HANDLE hTaskbar); | |
HANDLE TTLIBCALL TTLib_GetTrackedButton(HANDLE hTaskbar); | |
BOOL TTLIBCALL TTLib_ButtonMoveInButtonGroup(HANDLE hButtonGroup, int nIndexFrom, int nIndexTo); | |
HWND TTLIBCALL TTLib_GetButtonWindow(HANDLE hButton); | |
////////////////////////////////////////////////////////////////////////// | |
// Lists | |
typedef enum | |
{ | |
TTLIB_LIST_LABEL = 0, | |
TTLIB_LIST_GROUP, | |
TTLIB_LIST_GROUPPINNED, | |
TTLIB_LIST_COMBINE, | |
} TTLIB_LIST; | |
typedef enum | |
{ | |
TTLIB_LIST_LABEL_NEVER = 0, | |
TTLIB_LIST_LABEL_ALWAYS, | |
TTLIB_LIST_GROUP_NEVER = 0, | |
TTLIB_LIST_GROUP_ALWAYS, | |
TTLIB_LIST_GROUPPINNED_NEVER = 0, | |
TTLIB_LIST_GROUPPINNED_ALWAYS, | |
TTLIB_LIST_COMBINE_NEVER = 0, | |
TTLIB_LIST_COMBINE_ALWAYS, | |
} TTLIB_LIST_VALUE; | |
BOOL TTLIBCALL TTLib_AddAppIdToList(TTLIB_LIST nList, const WCHAR *pszAppId, TTLIB_LIST_VALUE nListValue); | |
BOOL TTLIBCALL TTLib_RemoveAppIdFromList(TTLIB_LIST nList, const WCHAR *pszAppId); | |
BOOL TTLIBCALL TTLib_GetAppIdListValue(TTLIB_LIST nList, const WCHAR *pszAppId, TTLIB_LIST_VALUE *pnListValue); | |
////////////////////////////////////////////////////////////////////////// | |
// Other | |
#define MAX_APPID_LENGTH MAX_PATH | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif // _TTLIB_H_ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment