Win7系统升级VS2008评估版


因升级操作系统,重装了vs2008,后来提示评估即将到期,准备按照之前的升级方法升级到正版

结果发现维护窗口的序列号输入框和升级按钮都不见了,可能是微软可以限制了vs2008的使用期限吧

但是这仍然挡不住我们使用vs2008的热情,一些热心同胞写了使能工具,将消失的序列号控件神奇地找了回来

传送门

win7下vs2008升级补丁(解决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 セットアップ - メンテナンス ページ") // 日文版 
}; 

HWND hWnd; 
UINT i, 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; 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值