HRESULT CALLBACK TaskDialogBootstrapCallback( _In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam, _In_ LONG_PTR dwRefData ) { PPH_SETUP_CONTEXT context = (PPH_SETUP_CONTEXT)dwRefData; switch (uMsg) { case TDN_CREATED: { context->DialogHandle = hwndDlg; // Center the window on the desktop. PhCenterWindow(hwndDlg, NULL); // Create the Taskdialog icons. TaskDialogCreateIcons(context); // Subclass the Taskdialog. SetWindowSubclass(hwndDlg, TaskDialogSubclassProc, 0, (ULONG_PTR)context); // Navigate to the first page. SetupShowUpdatingDialog(context); SendMessage(hwndDlg, WM_TASKDIALOGINIT, 0, 0); } break; } return S_OK; }
HRESULT CALLBACK TaskDialogUninstallBootstrapCallback( _In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam, _In_ LONG_PTR dwRefData ) { PPH_SETUP_CONTEXT context = (PPH_SETUP_CONTEXT)dwRefData; switch (uMsg) { case TDN_CREATED: { context->DialogHandle = hwndDlg; // Center the window on the desktop PhCenterWindow(hwndDlg, NULL); // Create the Taskdialog icons TaskDialogCreateIcons(context); // Navigate to the first page ShowUninstallConfirmDialog(context); } break; } return S_OK; }
HRESULT CALLBACK TaskDialogBootstrapCallback( _In_ HWND hwndDlg, _In_ UINT uMsg, _In_ WPARAM wParam, _In_ LPARAM lParam, _In_ LONG_PTR dwRefData ) { PPH_UPDATER_CONTEXT context = (PPH_UPDATER_CONTEXT)dwRefData; switch (uMsg) { case TDN_CREATED: { UpdateDialogHandle = context->DialogHandle = hwndDlg; // Center the update window on PH if it's visible else we center on the desktop. PhCenterWindow(hwndDlg, (IsWindowVisible(PhMainWndHandle) && !IsMinimized(PhMainWndHandle)) ? PhMainWndHandle : NULL); // Create the Taskdialog icons TaskDialogCreateIcons(context); // Subclass the Taskdialog SetWindowSubclass(hwndDlg, TaskDialogSubclassProc, 0, (ULONG_PTR)context); if (context->StartupCheck) ShowAvailableDialog(context); else ShowCheckForUpdatesDialog(context); } break; } return S_OK; }