在WIN7中激活VS2008的升级框(有图有源码)

news/2024/7/4 1:29:54 标签: class, microsoft, button, basic, 编译器, function
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

前言

最近刚开始接触学习AutoIT,该软件纯天然绿色、免费、轻量级、易上手,弱类型的BASIC语言风格,连CTRL+SHIFT+SPACE的用法都一样,不用安装身材硕大的开发环境,自带编译器,适合除98之外的WIN平台,解压后即可使用,我都是放在U盘里,随便插一台机器就能用了(这段算广告吧)。尽管说的那么容易,但还是要学习,尤其是各种函数以及辅助工具的配合使用。

言归正传

此次的学习实例是,解决在WIN7中安装VS2008后,无法在维护模式输入序列号的问题。分析一下,在WIN7以前的系统中可以显示,安装程序并没有更新,可以肯定只是在WIN7中对输入控件和升级按钮做了隐藏处理,我们要做的就是让这些控件显示出来即可,废话不多说,直接分享完整源代码。

完整源码

class="cnblogs_Highlighter">
class="syntaxhighlighter vb">
class="bar ">
class="toolbar"> view source print ?
class="lines">
class="line alt1">
class="number">001class="content">class="vb preprocessor">#cs
class="line alt2">
class="number">002class="content">class="vb plain">Author:J.Wang
class="line alt1">
class="number">003class="content">class="vb plain">Company:www.chinavalue.net
class="line alt2">
class="number">004class="content">class="vb plain">CreateTime:2010.08.07
class="line alt1">
class="number">005class="content">class="vb keyword">Functionclass="vb plain">:Show VS2008 Serial Number Controls class="vb keyword">For class="vb plain">WIN7
class="line alt2">
class="number">006class="content">class="vb preprocessor">#ce
class="line alt1">
class="number">007class="content"> 
class="line alt2">
class="number">008class="content">class="vb preprocessor">#include <GUIConstantsEx.au3>
class="line alt1">
class="number">009class="content">class="vb preprocessor">#include <ButtonConstants.au3>
class="line alt2">
class="number">010class="content"> 
class="line alt1">
class="number">011class="content">class="vb plain">;不显示任务栏图标
class="line alt2">
class="number">012class="content">class="vb preprocessor">#NoTrayIcon
class="line alt1">
class="number">013class="content"> 
class="line alt2">
class="number">014class="content">class="vb keyword">If class="vb plain">@OSVersion <> class="vb string">"WIN_7" class="vb keyword">Then
class="line alt1">
class="number">015class="content">class="spaces">    class="vb plain">ShowMessage(class="vb string">"该程序只能运行在Windows7系统中"class="vb plain">)
class="line alt2">
class="number">016class="content">class="spaces">    class="vb keyword">Exit
class="line alt1">
class="number">017class="content">class="vb plain">EndIf
class="line alt2">
class="number">018class="content"> 
class="line alt1">
class="number">019class="content">class="vb plain">;窗口标题,可根据本机安装的VS版本自行设置
class="line alt2">
class="number">020class="content">class="vb keyword">Dim class="vb plain">$windowTitle = class="vb string">"Microsoft Visual Studio 2008 安装程序 - 维护页"
class="line alt1">
class="number">021class="content"> 
class="line alt2">
class="number">022class="content">class="vb plain">;序列号,可根据本机安装的VS版本自行设置
class="line alt1">
class="number">023class="content">class="vb keyword">Dim class="vb plain">$snArray[7]
class="line alt2">
class="number">024class="content">class="vb plain">$snArray[0] = class="vb string">"VS2008"
class="line alt1">
class="number">025class="content">class="vb plain">$snArray[1] = class="vb string">"SerialNumber"
class="line alt2">
class="number">026class="content">class="vb plain">$snArray[2] = class="vb string">"PYHYP"
class="line alt1">
class="number">027class="content">class="vb plain">$snArray[3] = class="vb string">"WXB3B"
class="line alt2">
class="number">028class="content">class="vb plain">$snArray[4] = class="vb string">"B2CCM"
class="line alt1">
class="number">029class="content">class="vb plain">$snArray[5] = class="vb string">"V9DX9"
class="line alt2">
class="number">030class="content">class="vb plain">$snArray[6] = class="vb string">"VDY8T"
class="line alt1">
class="number">031class="content"> 
class="line alt2">
class="number">032class="content">class="vb plain">;创建窗体
class="line alt1">
class="number">033class="content">class="vb plain">GUICreate(class="vb string">"WIN7安装VS2008的激活升级程序"class="vb plain">, 336, 195)
class="line alt2">
class="number">034class="content">class="vb plain">GUISetIcon(class="vb string">"VS2008.ico"class="vb plain">)
class="line alt1">
class="number">035class="content">class="vb plain">GUISetBkColor(0xE4F4FF)
class="line alt2">
class="number">036class="content"> 
class="line alt1">
class="number">037class="content">class="vb plain">;打包文件
class="line alt2">
class="number">038class="content">class="vb plain">FileInstall(class="vb string">"banner.jpg"class="vb plain">, @TempDir & class="vb string">"\banner.jpg"class="vb plain">)
class="line alt1">
class="number">039class="content">class="vb plain">FileInstall(class="vb string">"blog.bmp"class="vb plain">, @TempDir & class="vb string">"\blog.bmp"class="vb plain">)
class="line alt2">
class="number">040class="content">class="vb plain">FileInstall(class="vb string">"button.bmp"class="vb plain">, @TempDir & class="vb string">"\button.bmp"class="vb plain">)
class="line alt1">
class="number">041class="content"> 
class="line alt2">
class="number">042class="content">class="vb plain">;创建内容
class="line alt1">
class="number">043class="content">class="vb plain">GuiCtrlCreatePic(@TempDir & class="vb string">"\banner.jpg"class="vb plain">, 1, 1, 334, 157)
class="line alt2">
class="number">044class="content"> 
class="line alt1">
class="number">045class="content">class="vb plain">;创建博客地址按钮
class="line alt2">
class="number">046class="content">class="vb plain">$btnBlog = GUICtrlCreateButton(class="vb string">"博客地址"class="vb plain">, 5, 165, 114, 23, $BS_BITMAP)
class="line alt1">
class="number">047class="content">class="vb plain">GUICtrlSetImage($btnBlog, @TempDir & class="vb string">"\blog.bmp"class="vb plain">)
class="line alt2">
class="number">048class="content">class="vb plain">GUICtrlSetCursor($btnBlog, 0)
class="line alt1">
class="number">049class="content"> 
class="line alt2">
class="number">050class="content">class="vb plain">;创建激活按钮
class="line alt1">
class="number">051class="content">class="vb plain">$btnActive = GUICtrlCreateButton(class="vb string">"激活输入框"class="vb plain">, 201, 165, 126, 23, $BS_BITMAP)
class="line alt2">
class="number">052class="content">class="vb plain">GUICtrlSetImage($btnActive, @TempDir & class="vb string">"\button.bmp"class="vb plain">)
class="line alt1">
class="number">053class="content">class="vb plain">GUICtrlSetCursor($btnActive, 0)
class="line alt2">
class="number">054class="content"> 
class="line alt1">
class="number">055class="content">class="vb plain">GUISetState(@SW_SHOW)
class="line alt2">
class="number">056class="content"> 
class="line alt1">
class="number">057class="content">class="vb keyword">While class="vb plain"> 1
class="line alt2">
class="number">058class="content">class="spaces">  class="vb plain">$msg = GUIGetMsg()
class="line alt1">
class="number">059class="content"> 
class="line alt2">
class="number">060class="content">class="spaces">  class="vb keyword">Select
class="line alt1">
class="number">061class="content">class="spaces">    class="vb keyword">Case class="vb plain">$msg = $btnActive
class="line alt2">
class="number">062class="content">class="spaces">        class="vb plain">;激活窗口
class="line alt1">
class="number">063class="content">class="spaces">        class="vb plain">WinActivate($windowTitle)
class="line alt2">
class="number">064class="content"> 
class="line alt1">
class="number">065class="content">class="spaces">        class="vb plain">;获取窗口是否激活
class="line alt2">
class="number">066class="content">class="spaces">        class="vb keyword">Dim class="vb plain">$isActive = WinActive($windowTitle)
class="line alt1">
class="number">067class="content"> 
class="line alt2">
class="number">068class="content">class="spaces">        class="vb plain">;等于零时表示未找到窗口或者未激活
class="line alt1">
class="number">069class="content">class="spaces">        class="vb keyword">If class="vb plain">$isActive = 0 class="vb keyword">Then
class="line alt2">
class="number">070class="content">class="spaces">            class="vb plain">ShowMessage(class="vb string">"请先进入VS2008维护模式再运行本程序"class="vb plain">)
class="line alt1">
class="number">071class="content">class="spaces">        class="vb plain">EndIf
class="line alt2">
class="number">072class="content">class="spaces">       
class="line alt1">
class="number">073class="content">class="spaces">        class="vb plain">;不等于零时表示窗口已激活
class="line alt2">
class="number">074class="content">class="spaces">        class="vb keyword">If class="vb plain">$isActive <> 0 class="vb keyword">Then
class="line alt1">
class="number">075class="content">class="spaces">           
class="line alt2">
class="number">076class="content">class="spaces">            class="vb plain">;显示序列号文本框
class="line alt1">
class="number">077class="content">class="spaces">            class="vb keyword">Dim class="vb plain">$controlID = 2
class="line alt2">
class="number">078class="content">class="spaces">           
class="line alt1">
class="number">079class="content">class="spaces">            class="vb keyword">While class="vb plain">$controlID < 7
class="line alt2">
class="number">080class="content">class="spaces">                class="vb plain">ControlShow($windowTitle, class="vb string">""class="vb plain">, class="vb string">"[CLASS:Edit; INSTANCE:" class="vb plain">& $controlID & class="vb string">"]"class="vb plain">)
class="line alt1">
class="number">081class="content">class="spaces">                class="vb plain">ControlEnable($windowTitle, class="vb string">""class="vb plain">, class="vb string">"[CLASS:Edit; INSTANCE:" class="vb plain">& $controlID & class="vb string">"]"class="vb plain">)
class="line alt2">
class="number">082class="content">class="spaces">                class="vb plain">ControlSetText($windowTitle, class="vb string">""class="vb plain">, class="vb string">"[CLASS:Edit; INSTANCE:" class="vb plain">& $controlID & class="vb string">"]"class="vb plain">, $snArray[$controlID])
class="line alt1">
class="number">083class="content"> 
class="line alt2">
class="number">084class="content">class="spaces">                class="vb plain">$controlID = $controlID + 1
class="line alt1">
class="number">085class="content">class="spaces">            class="vb plain">WEnd
class="line alt2">
class="number">086class="content">class="spaces">           
class="line alt1">
class="number">087class="content">class="spaces">            class="vb plain">;显示升级按钮
class="line alt2">
class="number">088class="content">class="spaces">            class="vb plain">ControlShow($windowTitle, class="vb string">""class="vb plain">, class="vb string">"[CLASS:Button; INSTANCE:43]"class="vb plain">)
class="line alt1">
class="number">089class="content">class="spaces">            class="vb plain">ControlEnable($windowTitle, class="vb string">""class="vb plain">, class="vb string">"[CLASS:Button; INSTANCE:43]"class="vb plain">)
class="line alt2">
class="number">090class="content">class="spaces">           
class="line alt1">
class="number">091class="content">class="spaces">        class="vb plain">EndIf
class="line alt2">
class="number">092class="content">class="spaces">       
class="line alt1">
class="number">093class="content">class="spaces">    class="vb keyword">Case class="vb plain">$msg = $btnBlog
class="line alt2">
class="number">094class="content">class="spaces">        class="vb plain">ShellExecute(class="vb string">"http://0417.cnblogs.com"class="vb plain">)
class="line alt1">
class="number">095class="content"> 
class="line alt2">
class="number">096class="content">class="spaces">    class="vb keyword">Case class="vb plain">$msg = $GUI_EVENT_CLOSE
class="line alt1">
class="number">097class="content">class="spaces">        class="vb plain">ExitLoop
class="line alt2">
class="number">098class="content">class="spaces">  class="vb plain">EndSelect
class="line alt1">
class="number">099class="content">class="vb plain">WEnd
class="line alt2">
class="number">100class="content"> 
class="line alt1">
class="number">101class="content">class="vb plain">;显示提示对话框
class="line alt2">
class="number">102class="content">class="vb plain">Func ShowMessage($msg)
class="line alt1">
class="number">103class="content">class="spaces">    class="vb plain">MsgBox(64, class="vb string">"系统提示"class="vb plain">, $msg)
class="line alt2">
class="number">104class="content">class="vb plain">EndFunc


注释已经很清楚了,我就不多说什么了。

截图预览

程序下载(已激活的也可以试用)


http://www.niftyadmin.cn/n/791063.html

相关文章

界面适配华为手机的虚拟按键的解决方案

http://blog.csdn.net/wzhseu/article/details/58117424 http://blog.csdn.net/me_dong/article/details/53689493

C# vs C++之三:静态构造函数

在C#中&#xff0c;类的静态构造函数用于在使用类之前进行相关的初始化工作&#xff1b;比如&#xff0c;初始化静态成员或执行特定操作。CLR 在第一次创建该类对象或调用该类静态方法时自动调用静态构造函数。同时&#xff0c;CLR保证静态构造函数的线程安全性&#xff08;准确…

关于c语言模拟c++的多态

关于c多态&#xff0c;个人认为就是父类调用子类的方法,c多态的实现主要通过虚函数实现&#xff0c;如果类中含有虚函数&#xff0c;就会出现虚函数表&#xff0c;具体c多态可以参考《深度探索c对象模型》 c语言模拟多态主要通过函数指针实现&#xff0c;可以参考《Object Orie…

解决实体机与虚拟机实现文件共享问…

想要把win8中的文件&#xff0c;共享到VMware Workstation的虚拟机Ubuntu中。 过程&#xff1a; 设置好共享目录并开启之后&#xff0c;结果直接出错&#xff1a; 而且在/mnt下没有看到希望的hgfs&#xff1a; 所以&#xff0c;用命令lsmod | grep vmhgfs去看看vmhgfs是否安装了…

c#读取XML内容实现动态加载菜单

c#读取XML内容实现动态加载菜单 这个案例是一个基于VS2005的WinForm菜单控件的例子&#xff0c;功能是从XML中动态加载菜单数据到MenuTrip控件上。这个案例中用到了XML&#xff0c;反射之类的技术。当然实用价值有限&#xff0c;仅供学习参考之用。 首先创建一个WinForm项目&am…

Linux下安装boa(嵌入式web服务器…

boa是一个小型的web服务器&#xff0c;可以用于多种平台&#xff0c;在嵌入式中比较常见。 一. 编译boa程序 1. www.boa.org下载boa-0.94.13.tar.gz 2. 解压: tar –zxvf boa-0.94.13.tar.gz 3. 进入boa-0.94.13/src目录&#xff0c; 执行./configure 4. make 注意&#xff1…

注册表学习第一课

修改注册表的三种方法<在没有把握的情况下&#xff0c;一定要先备份要改的注册表哦> 1.winR 然后输入regedit.exe 打个比方&#xff0c;你若想让开始菜单消失&#xff0c;那么你首先找到HKEY_CURRENT_USER根&#xff0c; 然后Software-microsoft-windows-currentversion-…

解决C#中txt文档导入数据库时,中文显示乱码的问题

解决C#中txt文档导入数据库时&#xff0c;中文显示乱码的问题 与前篇文章不同之处用红笔标记 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.…