[轉]win 7 下 SQL server 2008試用期到期的解決問題

來源:果殼範文吧 1.51W

謝謝大神給的解決方案~轉過來,留著以後用

[轉]win 7 下 SQL server 2008試用期到期的解決問題


在Windows 7下,VS2008試用版無法正常升級到正式版。原因是維護頁面的'註冊碼輸入框和升級按鈕被隱藏。通過本補丁,可讓註冊碼輸入框和升級按鈕恢復正常顯示。


補丁下載地址


------------------------------------------------------------

關鍵函式如下:

void CREGVS2008Dlg::OnBnClickedButtonAutoreg()
{
// 要查詢的VS2008版本列表
const TCHAR* szCaption[] = {
TEXT("Microsoft Visual Studio 2008 安裝程式 - 維護頁"),// 簡體中文版
TEXT("Microsoft Visual Studio 2008 安程式 - "),// 繁體中文版
TEXT("Microsoft Visual Studio 2008 Setup - Maintenance Page"),// 英文版
TEXT("Microsoft Visual Studio 2008 セットアップ - メンテナンス ペジ") // 日文版
};

HWNDhWnd;
UINTi, uNum;

// 定位“Microsoft Visual Studio 2008 安裝程式 - 維護頁”視窗
uNum = sizeof(szCaption) / sizeof(const TCHAR*);
for( i = 0; i < uNum; i++ )
{
hWnd = ::FindWindow( NULL, szCaption[i] );
if( hWnd != NULL )
{// 視窗發現
break;
}
}

if( i == uNum )
{// 沒有找到VS2008維護頁視窗
MessageBox( TEXT("沒有發現“Microsoft Visual Studio 2008 安裝程式 - 維護頁”視窗!") );
return;
}

// 進入第1層子視窗
hWnd = :: GetTopWindow_r( hWnd );

// 進入第4個子視窗
for( i= 0; i < 3; i++ )
{
hWnd = :: GetNextWindow_r( hWnd, GW_HWNDNEXT );
}

// 進入第2層子視窗
hWnd = :: GetTopWindow_r( hWnd );

// 進入第9個子視窗
for( i = 0; i < 8; i++ )
{
hWnd = :: GetNextWindow_r( hWnd, GW_HWNDNEXT );
}

// 進入註冊碼填寫視窗
for( i = 0; i < 5; i++ )
{// 啟用文字框
::ShowWindow( hWnd, SW_SHOW );
::EnableWindow( hWnd, TRUE );

// 進入下一個文字框
hWnd = :: GetNextWindow_r( hWnd, GW_HWNDNEXT );
}

// 進入升級按鈕
for( i = 0; i < 2; i++ )
{
hWnd = :: GetNextWindow_r( hWnd, GW_HWNDNEXT );
}

// 啟用升級按鈕
::ShowWindow( hWnd, SW_SHOW );
::EnableWindow( hWnd, TRUE );

return;
}

------------------------------------------------------------

熱門標籤