Time to test deleting mode, like deleting mode Debug
Test it only with test project.
As example don't have icon, button is empty in Toolbar, but show Delete Mode Debug, when cursor is over it.
#define WIN32_LEAN_AND_MEAN
#define UNICODE /* for Windows API */
#include <windows.h>
#include <commctrl.h>
#include <addin.h>
// Private command ID - any number will do.
#define ID_TEST 1
void PrjTest(void);
// Locals.
static HANDLE g_hmod = NULL;
static HWND g_hwndMain = NULL;
static HWND g_hwndProj = NULL;
BOOL WINAPI DllMainCRTStartup(HANDLE hDLL, DWORD dwReason, LPVOID lpReserved)
//BOOL WINAPI DllMain(HANDLE hDLL, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH) g_hmod = hDLL;
return TRUE;
}
ADDINAPI BOOL WINAPI AddInMain(HWND hwnd, ADDIN_EVENT eEvent)
{
switch (eEvent)
{
case AIE_APP_CREATE:
{
ADDIN_ADD_COMMAND AddCmd = {0};
/* Save handle of main IDE window */
g_hwndMain = hwnd;
/* Add command to project context menu */
AddCmd.cbSize = sizeof(AddCmd);
AddCmd.pszText = L"Delete Mode Debug"; // button text.
AddCmd.hIcon = LoadImage(g_hmod, MAKEINTRESOURCE(8001), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR|LR_SHARED); // button icon.
AddCmd.id = ID_TEST;
AddCmd.idMenu = AIM_MENU_NOTHING; // Toolbar button
if (!AddIn_AddCommand(hwnd, &AddCmd))
return FALSE;
return TRUE;
}
case AIE_PRJ_CREATE:
AddIn_WriteOutput(g_hwndMain, L"AIE_PRJ_CREATE");
g_hwndProj = hwnd;
return TRUE;
case AIE_PRJ_DESTROY:
g_hwndProj = NULL;
AddIn_WriteOutput(g_hwndMain, L"AIE_PRJ_DESTROY");
return TRUE;
case AIE_APP_DESTROY:
return AddIn_RemoveCommand(hwnd, ID_TEST);
default:
return TRUE;
}
}
ADDINAPI void WINAPI AddInCommandEx(int idCmd, LPCVOID pcvData)
{
if (idCmd == ID_TEST)
PrjTest();
}
void PrjTest(void)
{
AddIn_WriteOutput(g_hwndMain, L"PrjDelMode");
if (AddIn_DeleteProjectMode(g_hwndProj, L"Debug"))
{
AddIn_WriteOutput(g_hwndMain, L"Debug Mode Deleted");
}
}
When it works, in Output windowAIE_PRJ_CREATE
PrjDelMode
Debug Mode Deleted
AIE_PRJ_DESTROY
Hopefully we hear, if there are any problems with Windows 10, 11,...
Works in Windows 10