vista+ compatibility part 1
This commit is contained in:
@@ -132,7 +132,6 @@ LRESULT CALLBACK DeskWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_ACTIVATE:
|
case WM_ACTIVATE:
|
||||||
case WM_DPICHANGED:
|
|
||||||
case WM_DISPLAYCHANGE:
|
case WM_DISPLAYCHANGE:
|
||||||
case WM_DEVICECHANGE:
|
case WM_DEVICECHANGE:
|
||||||
// Get size of the root HWND
|
// Get size of the root HWND
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
// #define WIN32_LEAN_AND_MEAN
|
// #define WIN32_LEAN_AND_MEAN
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <pathcch.h>
|
#include <Commctrl.h>
|
||||||
#include <Shlobj.h>
|
#include <Shlobj.h>
|
||||||
#include <shlwapi.h>
|
#include <shlwapi.h>
|
||||||
#include <strsafe.h>
|
#include <strsafe.h>
|
||||||
|
|||||||
@@ -239,6 +239,7 @@ PITEM CreateItem(_In_ HWND hWndGroup, _In_ PITEM pi)
|
|||||||
HICON hIcon = NULL;
|
HICON hIcon = NULL;
|
||||||
LVITEM lvi = { 0 };
|
LVITEM lvi = { 0 };
|
||||||
PGROUP pGroup = NULL;
|
PGROUP pGroup = NULL;
|
||||||
|
PGROUP pNewGroup = NULL;
|
||||||
PITEM pItem = NULL;
|
PITEM pItem = NULL;
|
||||||
UINT uiTest = 0;
|
UINT uiTest = 0;
|
||||||
HWND hWndListView = NULL;
|
HWND hWndListView = NULL;
|
||||||
@@ -260,17 +261,13 @@ PITEM CreateItem(_In_ HWND hWndGroup, _In_ PITEM pi)
|
|||||||
if (hWndListView == NULL)
|
if (hWndListView == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
// compare group's existing memory to needed memory
|
|
||||||
// if needed, reallocate the group's memory
|
|
||||||
if (_msize(pGroup) != CalculateGroupMemory(pGroup, 1))
|
|
||||||
{
|
|
||||||
// if we reallocate memory then send the new pointer in
|
// if we reallocate memory then send the new pointer in
|
||||||
PGROUP pNewGroup = realloc(pGroup, CalculateGroupMemory(pGroup, 1));
|
pNewGroup = realloc(pGroup, CalculateGroupMemory(pGroup, 1));
|
||||||
if (pNewGroup != NULL) {
|
if (pNewGroup != NULL)
|
||||||
|
{
|
||||||
pGroup = pNewGroup;
|
pGroup = pNewGroup;
|
||||||
SetWindowLongPtr(hWndGroup, GWLP_USERDATA, (LONG_PTR)pGroup);
|
SetWindowLongPtr(hWndGroup, GWLP_USERDATA, (LONG_PTR)pGroup);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// add the item
|
// add the item
|
||||||
pItem = pGroup->pItemArray + pGroup->cItemArray;
|
pItem = pGroup->pItemArray + pGroup->cItemArray;
|
||||||
@@ -356,21 +353,15 @@ BOOL ExecuteItem(_In_ PITEM pi)
|
|||||||
\* * * */
|
\* * * */
|
||||||
VOID UpdateGroup(_In_ PGROUP pg)
|
VOID UpdateGroup(_In_ PGROUP pg)
|
||||||
{
|
{
|
||||||
GROUP grp = {
|
// Set the important flags
|
||||||
.dwSignature = GRP_SIGNATURE,
|
pg->dwSignature = GRP_SIGNATURE;
|
||||||
.wVersion = GRP_VERSION,
|
pg->wVersion = GRP_VERSION;
|
||||||
.wChecksum = 0,
|
|
||||||
.szName = TEXT(""),
|
|
||||||
.dwFlags = 0,
|
|
||||||
.ftLastWrite = 0,
|
|
||||||
.cItemArray = 0,
|
|
||||||
.pItemArray = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
// Set the group checksum
|
// Set the group checksum
|
||||||
pg->wChecksum = 1; // NOTE: implement this for real later lol
|
pg->wChecksum = 1; // NOTE: implement this for real later lol
|
||||||
|
|
||||||
// TODO: set group flags
|
// TODO: set name and group flags
|
||||||
|
// pg->szName = GetWindowText(blah blah blah);
|
||||||
// pg->dwFlags = GRP_FLAG_MAXIMIZED;// GetGroupFlags(pgw);
|
// pg->dwFlags = GRP_FLAG_MAXIMIZED;// GetGroupFlags(pgw);
|
||||||
|
|
||||||
// Set FILETIME
|
// Set FILETIME
|
||||||
|
|||||||
Reference in New Issue
Block a user