欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    利用VC编程实现程序自动启动.doc

    • 资源ID:2389412       资源大小:17.50KB        全文页数:4页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    利用VC编程实现程序自动启动.doc

    利用VC+编程实现程序自动启动 工作中经常遇到一些程序,它们在系统启动的过程中,自动打开并运行,以便实现对系统的监控或者病毒的检测等特定的目的,典型的例子就是常用的一些杀毒软件如:KV300及瑞星杀毒软件等。笔者在此,以自己的编程实践为基础,说明这些程序自动启动的原理和方法,同时对一些典型程序代码进行分析,以便读者在今后的编程过程中使用。一、 程序自动启动的原理及方法:1. 利用WIN.INI文件实现相关程序的自动启动WIN.INI是系统保存在C:WINDOWS目录下的一个系统初始化文件。系统在起动时会检索该文件中的相关项,以便对系统环境的初始设置。在该文件中的"windows"数据段中,有两个数据项"load="和"run=",它们的作用就是在系统起动之后自动得装入和运行相关的程序。如果我们需要在系统起动之后装入并运行一个程序,只将需要运行文件的全文件名添加在该数据项的后面系统起动后就会自动运行该程序,系统也会进入特定的操作环境中去。2. 利用注册表实现相关程序的自动启动系统注册表保存着系统的软件、硬件及其他与系统配置有关的重要信息,一个计算机系统的系统注册表一旦遭到破坏,整个系统将无法运行。在计算机的系统注册表中的子目录中有一个目录的名称为HKEY_LOCAL_MACHINESoftware MicrosoftWindowsCurrent_VersionRun,如果你想让程序在系统起动的过程中启动该程序,就可以向该目录添加一个子项,具体的过程是在注册表中右击该项,选中其中的"新建"项目,然后选中其中的"串值",建立新的串值后将它的名称改成相应的名称,双击新建的串值,输入新的数值,自动启动程序的过程就设置完成。二、 利用VC+编程实现程序自动启动的编程实例。微软公司提供的VC+ 6.0程序开发工具功能非常强大。在VC+ 6.0中同时具有对注册表和*.INI文件操作的函数。笔者经过一段时间的摸索,成功的利用VC+ 6.0开发成功了一个小软件,该软件利用系统自动启动程序的原理,将原来需要的繁琐的手动工作转变成成计算机的自动设置工作,使系统自动启动相关程序的设置工作变的非常简单可靠。1.程序功能概述:程序的主界面是对话框,在主界面对话框中有编辑框(EDIT BOX),圆形按钮(RADIO BUTTON)和普通按钮(COMMON BUTTON)组成。操作者通过向编辑框中添加需要自动加载的程序的全文件名(也可以通过浏览按钮来完成),然后通过对两个RADIO BUTTON的选择,进而完成对加载方式的选择(是选用注册表方式还是选者修改WIN.INI文件的方式),最后操作者通过点击"应用"按钮实现程序的自动加载功能,同时系统会提示操作者是否将操作计算机重新启动,以便观察程序的具体功能完成情况。程序在WIN98中调试运行正常。2.编码说明: 浏览按钮的功能代码:void CAutoloadDlg:OnLiulan() / TODO: Add your control notification handler code hereCFileDialog fileDlg(TRUE,_T("EXE"),_T("*.exe"),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,(_T("Executable Files (*.exe) |*.exe |");/显示打开文件的对话框if(fileDlg.DoModal()=IDOK)/当操作者选择OK时,程序,取得选择文/件的全路径名(包括文件的路径及文件名称),并将相应的数值传输给相/关的控件变量。m_filename=fileDlg.GetPathName();/m_filename是EDIT BOX控件的相应的变量。UpdateData(FALSE);/向将变量中的数值传输给控件显示出来。 应用按钮的功能代码:void CAutoloadDlg:OnOK() / TODO: Add extra validation hereLPCTSTR title;UpdateData(TRUE);if(m_title.IsEmpty()/如果操作者没有填写要设置项的标题,程序显示对话框,提示操作者进行相关的填写。MessageBox(_T("Please input the title name");return; title=m_title;if(m_filename.IsEmpty()/如果操作者没有选择要设置的程序的全路径文/件名,程序显示对话框,提示操作者进行相关的选择。MessageBox(_T("Please input the programe file name");return;if(IsDlgButtonChecked(IDC_RADIO1)/如果操作者选择注册表方式,程序修改系统的注册表。HKEY hKey;LPCTSTR data_Set="SoftwareMicrosoftWindowsCurrentVersionRun"/设置注册表中相关的路径Longret0=(:RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set,0,KEY_WRITE,&hKey);/打开注册表中的相应项if(ret0!=ERROR_SUCCESS)MessageBox("错误0");int length=m_filename.GetLength()+1;/将控件中的内容进行转换,以达到注册表修改函数的参数调用需求。for(int i=0;i if(m_filenamei=92)length=length+1;DWORD cbData=length;LPBYTE lpb=new BYTElength;int j=0;for(i=0;i if(m_filenamei=92)lpbj=92;j+;lpbj=92;j+;elselpbj=m_filenamei;j+;lpbj=0;long ret1=(:RegSetValueEx(hKey,title,NULL,REG_SZ,lpb,cbData);/将相关的信息写入注册表。if(ret1!=ERROR_SUCCESS)/判断系统的相关注册是否成功?MessageBox("错误1");delete lpb;:RegCloseKey(hKey);/关闭注册表中的相应的项if(IsDlgButtonChecked(IDC_RADIO2)/如果操作者选择用修改WIN.INI文件的方式LPCTSTR filename;filename=m_filename;WritePrivateProfileString(_T("windows"),_T("load"),filename,_T("c:windowswin.ini");WritePrivateProfileString(_T("windows"),_T("run"),filename,_T("c:windowswin.ini");yzdlg.DoModal();/显示对话框,提示操作者是否需要重新启动计算机,以便验证程序的功能。CDialog:OnOK(); 重新启动按钮的功能代码:void yanzheng:OnOK()OSVERSIONINFO OsVerInfo;/保存系统版本信息的数据结构OsVerInfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);GetVersionEx(&OsVerInfo);/取得系统的版本信息if(OsVerInfo.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS)ExitWindowsEx(EWX_REBOOT,0);/重新启动计算机CDialog:OnOK();

    注意事项

    本文(利用VC编程实现程序自动启动.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开