git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4648 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
dmex
2011-09-08 10:10:00 +00:00
parent b05030d8bb
commit fca705cf05
3 changed files with 162 additions and 7 deletions
+149 -4
View File
@@ -520,9 +520,7 @@ VOID ShowUpdateTaskDialog(VOID)
UpdateAvailablePage.pszMainInstruction = L"Checking for Updates...";
UpdateAvailablePage.pfCallback = TaskDlgWndProc;
hr = TaskDialogIndirect(&UpdateAvailablePage, &nButton, &nRadioButton, &fVerificationFlagChecked);
if (!SUCCEEDED(hr))
if (!SUCCEEDED(TaskDialogIndirect_I(&UpdateAvailablePage, &nButton, &nRadioButton, &fVerificationFlagChecked)))
{
// some error occurred...check hr to see what it is
}
@@ -532,7 +530,7 @@ VOID ShowUpdateTaskDialog(VOID)
DisposeFileHandles();
}
HRESULT CALLBACK TaskDlgWndProc(
HRESULT CALLBACK TaskDlgUpdateAvailableWndProc(
__in HWND hwndDlg,
__in UINT uMsg,
__in WPARAM wParam,
@@ -601,6 +599,153 @@ HRESULT CALLBACK TaskDlgWndProc(
return S_OK;
}
HRESULT CALLBACK TaskDlgWndProc(
__in HWND hwndDlg,
__in UINT uMsg,
__in WPARAM wParam,
__in LPARAM lParam,
__in LONG_PTR lpRefData
)
{
switch (uMsg)
{
case TDN_CREATED:
{
SetProgressBarMarquee(hwndDlg, TRUE, 100);
_beginthread(VistaWorkerThreadStart, 0, hwndDlg);
}
break;
case TDN_DESTROYED:
{
DisposeConnection();
DisposeStrings();
DisposeFileHandles();
}
break;
case TDN_BUTTON_CLICKED:
{
switch(wParam)
{
case 1005:
{
TASKDIALOGCONFIG tc = { 0 };
tc.cbSize = sizeof(tc);
tc.hMainIcon = MAKEINTRESOURCEW(101);
tc.hwndParent = PhMainWndHandle;
tc.hInstance = PhLibImageBase;
tc.dwFlags = TDF_ALLOW_DIALOG_CANCELLATION | TDF_USE_COMMAND_LINKS | TDF_POSITION_RELATIVE_TO_WINDOW | TDF_SHOW_PROGRESS_BAR;
tc.pszWindowTitle = L"Process Hacker Updater";
tc.pszMainInstruction = L"Downloading Update...";
tc.pszContent = L"Initializing...\r\n\r\n";
tc.dwCommonButtons = TDCBF_CLOSE_BUTTON;
tc.pfCallback = TaskDlgWndProc;
_beginthread(VistaDownloadWorkerThreadStart, 0, hwndDlg);
// Natigate to new page.
SendMessage(hwndDlg, TDM_NAVIGATE_PAGE, 0, (LPARAM)&tc);
return S_FALSE;
}
break;
}
}
break;
case TDN_NAVIGATED:
{
//return S_FALSE;
}
break;
case TDN_HYPERLINK_CLICKED:
{
}
break;
}
return S_OK;
}
HRESULT CALLBACK TaskDlgCheckingPageWndProc(
__in HWND hwndDlg,
__in UINT uMsg,
__in WPARAM wParam,
__in LPARAM lParam,
__in LONG_PTR lpRefData
)
{
switch (uMsg)
{
case TDN_CREATED:
{
SetProgressBarMarquee(hwndDlg, TRUE, 100);
_beginthread(VistaWorkerThreadStart, 0, hwndDlg);
}
break;
case TDN_DESTROYED:
{
DisposeConnection();
DisposeStrings();
DisposeFileHandles();
}
break;
case TDN_BUTTON_CLICKED:
{
switch(wParam)
{
case 1005:
{
TASKDIALOGCONFIG tc = { 0 };
INT nButton;
tc.cbSize = sizeof(tc);
tc.hwndParent = PhMainWndHandle;
tc.hInstance = PhLibImageBase;
tc.dwFlags = TDF_ALLOW_DIALOG_CANCELLATION | TDF_USE_COMMAND_LINKS | TDF_POSITION_RELATIVE_TO_WINDOW | TDF_SHOW_PROGRESS_BAR;
tc.pszWindowTitle = L"Process Hacker Updater";
tc.pszMainInstruction = L"Downloading Update...";
tc.pszContent = L"Initializing...\r\n\r\n";
tc.dwCommonButtons = TDCBF_CLOSE_BUTTON;
tc.pfCallback = TaskDlgWndProc;
_beginthread(VistaDownloadWorkerThreadStart, 0, hwndDlg);
// Natigate to new page.
SendMessage(hwndDlg, TDM_NAVIGATE_PAGE, 0, (LPARAM)&tc);
return S_FALSE;
}
break;
}
}
break;
case TDN_NAVIGATED:
{
//return S_FALSE;
}
break;
case TDN_HYPERLINK_CLICKED:
{
}
break;
}
return S_OK;
}
static BOOL InitializeConnection(
__in PCWSTR host,
__in PCWSTR path
+1 -1
View File
@@ -90,7 +90,7 @@ VOID NTAPI LoadCallback(
__in_opt PVOID Context
)
{
TaskDialogIndirect_I = PhGetProcAddress(L"comctl32.dll", "TaskDialogIndirect");
}
VOID NTAPI MainWindowShowingCallback(
+12 -2
View File
@@ -48,8 +48,8 @@ typedef enum _PH_UPDATER_STATE
#define UPDATE_URL L"processhacker.sourceforge.net"
#define UPDATE_FILE L"/update.php"
#define DOWNLOAD_SERVER L"sourceforge.net"
#define DOWNLOAD_PATH L"/projects/processhacker/files/processhacker2/%s/download" /* ?use_mirror=waix" */
#define DOWNLOAD_SERVER L"mirror.eftel.com" //"sourceforge.net"
#define DOWNLOAD_PATH L"/ubuntu-dvd/oneiric/beta-1/ubuntu-11.10-beta1-dvd-i386.iso"// L"/projects/processhacker/files/processhacker2/%s/download" /* ?use_mirror=waix" */
#define BUFFER_LEN 512
#define UPDATE_MENUITEM 1
@@ -184,4 +184,14 @@ INT_PTR CALLBACK OptionsDlgProc(
__in LPARAM lParam
);
typedef HRESULT (WINAPI *_TaskDialogIndirect)(
__in const TASKDIALOGCONFIG *pTaskConfig,
__in int *pnButton,
__in int *pnRadioButton,
__in BOOL *pfVerificationFlagChecked
);
_TaskDialogIndirect TaskDialogIndirect_I;
#pragma endregion