Win7系统升级VS2008评估版

编程知识 更新时间:2023-05-02 18:01:57


因升级操作系统,重装了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; 
}

更多推荐

Win7系统升级VS2008评估版

本文发布于:2023-04-27 20:05:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/35e1acbe52ed71f1770ee0b0f6152113.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:系统升级

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 107407文章数
  • 27124阅读数
  • 0评论数