Added option to disable checking for updates.

Added commandline option '/noupdate' to disable check for updates.
This commit is contained in:
2023-11-04 23:36:29 +03:00
parent 0150121c02
commit b71793cfed

View File

@@ -29,7 +29,7 @@ HHOOK hMouseHook = NULL, hKbdHook = NULL; // Hook's handles
HICON hIcon = NULL; HICON hIcon = NULL;
HMENU hMenu = NULL, hPopup = NULL; HMENU hMenu = NULL, hPopup = NULL;
HWND hWnd = NULL, hFgWnd = NULL; HWND hWnd = NULL, hFgWnd = NULL;
BOOL bKPressed = FALSE, bMPressed = FALSE, bShowIcon = TRUE, bWorkArea = TRUE; BOOL bKPressed = FALSE, bMPressed = FALSE, fShowIcon = TRUE, fCheckUpdates = TRUE, bWorkArea = TRUE;
BOOL bLCTRL = FALSE, bLWIN = FALSE, bKEYV = FALSE; BOOL bLCTRL = FALSE, bLWIN = FALSE, bKEYV = FALSE;
NOTIFYICONDATAW nid = { 0 }; NOTIFYICONDATAW nid = { 0 };
@@ -117,14 +117,40 @@ int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmd
LOG_TO_FILE(L"Entering the %s() function", TEXT(__FUNCTION__)); LOG_TO_FILE(L"Entering the %s() function", TEXT(__FUNCTION__));
hUpdater = CreateThread(NULL, 0, &Updater, nullptr, 0, nullptr); int nArgs = 0;
if (NULL == hUpdater) LPWSTR* szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);
LOG_TO_FILE(L"Arguments count: %d", nArgs - 1);
if (nArgs > 1)
{ {
DWORD dwLastError = GetLastError(); for (int i = 1; i < nArgs; i++)
LOG_TO_FILE(L"%s(%d): Creating Updater thread failed! Error: %d", TEXT(__FUNCTION__), __LINE__, dwLastError); {
MessageBoxW(NULL, L"Creating Updater thread failed!", szTitle, MB_OK | MB_ICONERROR); LOG_TO_FILE(L"Argument %d: %s", i, szArglist[i]);
CloseLogFile(); if (0 == lstrcmpiW(szArglist[i], L"/hide")) fShowIcon = FALSE;
return dwLastError; if (0 == lstrcmpiW(szArglist[i], L"/noupdate")) fCheckUpdates = FALSE;
}
}
LocalFree(szArglist);
if (fCheckUpdates)
{
LOG_TO_FILE(L"%s(%d): Checking for updates is enabled, fCheckUpdates = %s", TEXT(__FUNCTION__), __LINE__, fCheckUpdates ? L"True" : L"False");
hUpdater = CreateThread(NULL, 0, &Updater, nullptr, 0, nullptr);
if (NULL == hUpdater)
{
DWORD dwLastError = GetLastError();
LOG_TO_FILE(L"%s(%d): Creating Updater thread failed! Error: %d", TEXT(__FUNCTION__), __LINE__, dwLastError);
MessageBoxW(NULL, L"Creating Updater thread failed!", szTitle, MB_OK | MB_ICONERROR);
CloseLogFile();
return dwLastError;
}
}
else
{
LOG_TO_FILE(L"%s(%d): Checking for updates is disabled, fCheckUpdates = %s", TEXT(__FUNCTION__), __LINE__, fCheckUpdates ? L"True" : L"False");
} }
WNDCLASSEX wcex = { 0 }; WNDCLASSEX wcex = { 0 };
@@ -150,18 +176,6 @@ int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmd
return FALSE; return FALSE;
} }
int nArgs = 0;
LPWSTR* szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);
LOG_TO_FILE(L"Arguments count: %d", nArgs - 1);
for (int i = 1; i < nArgs; i++)
{
LOG_TO_FILE(L"Argument %d: %s", i, szArglist[i]);
}
(nArgs >= 2 && 0 == lstrcmpiW(szArglist[1], L"/hide")) ? bShowIcon = FALSE : bShowIcon = TRUE;
LocalFree(szArglist);
HandlingTrayIcon(); HandlingTrayIcon();
hHeap = GetProcessHeap(); hHeap = GetProcessHeap();
@@ -278,7 +292,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
LOG_TO_FILE(L"%s(%d): Pressed the 'Hide icon' menuitem", TEXT(__FUNCTION__), __LINE__); LOG_TO_FILE(L"%s(%d): Pressed the 'Hide icon' menuitem", TEXT(__FUNCTION__), __LINE__);
bShowIcon = FALSE; fShowIcon = FALSE;
HandlingTrayIcon(); HandlingTrayIcon();
} }
if (ID_POPUPMENU_AREA == idMenu) if (ID_POPUPMENU_AREA == idMenu)
@@ -330,9 +344,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
default: default:
return DefWindowProcW(hWnd, message, wParam, lParam); return DefWindowProcW(hWnd, message, wParam, lParam);
} }
return 0; return 0;
} }
LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam) LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{ {
@@ -370,7 +384,7 @@ LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam)
LOG_TO_FILE(L"%s(%d): Pressed LCTRL + LWIN + I", TEXT(__FUNCTION__), __LINE__); LOG_TO_FILE(L"%s(%d): Pressed LCTRL + LWIN + I", TEXT(__FUNCTION__), __LINE__);
bKPressed = TRUE; bKPressed = TRUE;
bShowIcon = !bShowIcon; fShowIcon = !fShowIcon;
HandlingTrayIcon(); HandlingTrayIcon();
return TRUE; return TRUE;
} }
@@ -519,9 +533,9 @@ BOOL IsWindowApprooved(HWND hFW)
VOID HandlingTrayIcon() VOID HandlingTrayIcon()
{ {
LOG_TO_FILE(L"Entering the %s() function, bShowIcon = %s", TEXT(__FUNCTION__), bShowIcon ? L"True" : L"False"); LOG_TO_FILE(L"Entering the %s() function, fShowIcon = %s", TEXT(__FUNCTION__), fShowIcon ? L"True" : L"False");
if (bShowIcon) if (fShowIcon)
{ {
bool bResult1 = Shell_NotifyIconW(NIM_ADD, &nid); bool bResult1 = Shell_NotifyIconW(NIM_ADD, &nid);
LOG_TO_FILE(L"%s(%d): Shell_NotifyIconW(NIM_ADD): %s", TEXT(__FUNCTION__), __LINE__, bResult1 ? L"True" : L"False"); LOG_TO_FILE(L"%s(%d): Shell_NotifyIconW(NIM_ADD): %s", TEXT(__FUNCTION__), __LINE__, bResult1 ? L"True" : L"False");
@@ -535,7 +549,7 @@ VOID HandlingTrayIcon()
ShowError(IDS_ERR_ICON); ShowError(IDS_ERR_ICON);
Shell_NotifyIconW(NIM_DELETE, &nid); Shell_NotifyIconW(NIM_DELETE, &nid);
bShowIcon = FALSE; fShowIcon = FALSE;
} }
else else
{ {