首页 相关文章 利用VC++编程实现程序自动启动

利用VC++编程实现程序自动启动

工作中经常碰到一些程序,它们在系统启动的过程中,自动打开并运行,以便实现对系统的监控或者病毒的检测等特定的目的,典型的例子就是常用的一些杀毒软件如:KV300及瑞星杀毒软件等。笔者在此,以自己的编程实践为基础,说明这些程序自动启动的原理和方法,同时对一些典型程序代码进行分析,以便读者在今后的编程过程中使用。
  
  一、 程序自动启动的原理及方法:
  
  1. 利用WIN.INI文件实现相关程序的自动启动
  
  WIN.INI是系统保存在C:WINDOWS目录下的一个系统初始化文件。系统在起动时会检索该文件中的相关项,以便对系统环境的初始设置。
  
  在该文件中的"[windows]"数据段中,有两个数据项"load="和"run=",它们的作用就是在系统起动之后自动得装入和运行相关的程序。假如我们需要在系统起动之后装入并运行一个程序,只将需要运行文件的全文件名添加在该数据项的后面系统起动后就会自动运行该程序,系统也会进入特定的操作环境中去。
  
  2. 利用注册表实现相关程序的自动启动
  
  [ 查看全文 ]

2016-02-19 标签:
  • 一、 引言 我们在上网浏览时,有时访问到某些网站的网页时会自动弹出一些广告窗口,甚至有不少个人主页为了利用网络广告来赚钱一下同时弹出几个甚至十几个广告窗口。这些窗口一个一个的关掉十分麻烦,而且如果不关的话又会占用大量的系统资源,所以不少人对此深恶痛绝,作为程序员可以利用自身技术优势根据自己的实际需要编制一些很适合自己的小工具 。因此本文就对如何通过软件编程来实现对广告窗口...[ 查看全文 ]
  • [文章信息]作者:中国电波传播研究所青岛分所郎锐时间:2003-06-16出处:yesky责任编辑:方舟[文章导读]本文给出了一种在Visual C++下用原始套接字来捕捉并分析在网络上传输的数据包的简单方法 引言 从事网络安全的技术人员和相当一部分准黑客(指那些使用现成的黑客软件进行攻击而不是根据需要去自己编写代码的人)都一定不会对网络嗅探器(sniffer)感到生疏,网络嗅探器无论是在网络安全还是在黑客攻击方...[ 查看全文 ]
  • VC++的Unicode编程 作者:韩耀旭 下载源代码 一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H...[ 查看全文 ]
  • 概述 管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。 匿名管道实施细则 匿名管道由CreatePipe()函数...[ 查看全文 ]
  • 在VC++实现数据加密 作者:惠州市东晓电子有限公司 龚辉斌 下载本文示例源代码 为了保证数据的安全性与完整性,常常要对数据进行加密,在数据传输过程进行数据加密可以防止中途非法截获。我们通常称原始数据叫做源文,用约定的加密算法进行加密处理。加密算法的输入是源文与加密键,而输出的则是密文。加密算法可以分为两种,一种是密键加密算法,一种是明键加密法...[ 查看全文 ]
  • VC++中轻松实现滑动控件 作者: 上海同济大学计算机系 小鹰 下载本文示例代码 滑动控件是Windows中最常用的控件之一。一般而言它是由一个滑动条,一个滑块和可选的刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示相应的值。滑动控件在应用程序中用途级为广泛,如在桌面的...[ 查看全文 ]
  • 一、函数调用捆绑   1、定义 捆绑:把函数体与函数调用相联系称为捆绑。当捆绑在程序运行之前(由编译器和连接器)完成时,称为早捆绑。(C编译只有一种函数调用,就是早捆绑)如果捆绑发生在运行时,则称为晚捆绑(或动态捆绑、运行时捆绑。 虚函数:如果我们在定义基类时在函数前加关键字virtual,则会告诉编译器对于此函数要进行晚捆绑,同时自动安装晚捆绑实现机制。   2、实现 &...[ 查看全文 ]
  • 1、给程序添加ATL支持。右键-New ATL Object2、实现IDispEventImpl 接口。//EventSink.h#import "..ServerDebugServer.exe" raw_interface_only,no_namespace,named_guidsclass  CEventSink : public IDispEventImpl0, CEventSink,&DIID__IObjEvents,&LIBID_SERVERLib, 1, 0 { public: CEventSink() { } public: BEGI...[ 查看全文 ]
  • 使用过IE浏览器的朋友都知道IE界面上的扁平工具条、地址栏,扁平工具栏上的按钮正常状态下为扁平态,按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起(这种状态称为手柄),并且其上的图像变得鲜艳醒目,一些按钮上还有汉字说明或标有小黑三角的下拉按钮,单击时显示下拉菜单,这些技术是怎么实现的呢,本文针对这些问题介绍了如何利用VC编程来实现它们。 IE风格的实现主要在主框架类的CMainFram...[ 查看全文 ]
  • 用VC++创建自定义向导程序 作者:毛翔 网站:esword.onchina.net 下载本文源代码 向导是一种用来简化用户操作的程序。在Microsoft 的所有产品中都存在向导,如Office2000 中的Web 页向导就是一个十分典型的向 导(如下图所示),还有常用的VC++向导。 一个基本的向导程序应该包含以下几个基本按钮: 取消、上一步、下一步、完成、帮助。 ...[ 查看全文 ]
  •     最近天气太热,外加无聊,出于练习的目的,想到了写个盗QQ的软件,说“盗”,未免是太难听了吧,于是我给它起名为“UiQQ道”.下面就是本软件的界面部分: (图1.软件界面部分)     一般的盗密码的软件的软件都是通过监视键盘来获得密码,这样操作比较方便,但是这样也存在一定问题,密码有的时候不是很准确,因为有的人输入密码并不是从前到后输入,当然这样的人也...[ 查看全文 ]
  • C++/VC++编程的疑难问题及解答 作者:M. H. Li 本人在用C++/VC++编程时,遇到的一些比较难以解决的问题,在经过百思得其解之后,总结了一些解决方法,希望这些经验之谈能对大家有所帮助。 VC问题,编辑框内的换行; C++问题标准程序库的问题,list的迭代器是否可以随机移动? C++问题标准程序库的问题,在删除操作很多的...[ 查看全文 ]
  •     提起3D文字制作,不少人会马上想到3D MAX等一些专门的3维制作工具,即使选用VC以编程的手段来实现也多是假手于OpenGL图形开发库来完成。熟悉OpenGL开发的编程人员一定对其初始化、材质以及灯光的渲染等一系列烦琐而又必要的编程过程深有感触。虽然通过以上的手段可以产生出包括3D文字在内的质感相当强的3维图形,但如果程序仅需要产生不很复杂的3D文字,而采用OpenGL去实现未免显得大材小...[ 查看全文 ]
  • 预备: (1)、引入ADO类 #import "c:program filescommon filessystemadomsado15.dll" no_namespace rename ("EOF", "adoEOF") (2)、初始化COM在MFC中可以用AfxOleInit();非MFC环境中用: CoInitialize(NULL); CoUnInitialize();(3)#import 包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr 1.连接和关闭数据库 (1)连接 例子:连接Ac...[ 查看全文 ]
  • C++/VC++编程的疑难问题及解答(二) 作者:M. H. Li 我“C++/VC++编程的疑难问题及解答”给出了三个关于C++/VC++编程的问题及其可能的解决方法。这篇文章再给出几个问题,大家多给我提意见啊,有问题可以给我发信啊! 标准程序库问题,再谈list的迭代器是否可以随机移动? 标准程序库问题,vector的resize()和reserve()函数的区别 标准程序库问题,vector的内...[ 查看全文 ]
  • 最近研究怎么样使用HOOK拦截其他应用程序的消息,于是就动手写了一个钩子程序来挂到最常用的通讯及时通讯工具MSN,虽然没有什么实际意义,但作为学习研究却能够帮助我们理解利用HOOK是怎么样将自己编写的DLL注入已经存在的程序空间中的。 我们需要做的是通过我们自己编写的应用程序去拦截别人写好的应用程序消息,实际上这是在两个进程之间进行的,难度就在这里,如果是同一个进程什么都好办,只要...[ 查看全文 ]
  • 前面数次连载我们以较长的篇幅讲解了串口通信的硬件原理、DOS平台控制以及基于WIN32 API、控件和第三方类的串口编程。作为本系列文章的最后一次连载,本章将给出一个典型的应用实例:西门子短信服务模块TC35的串口控制。 1.短信控制终端 作为短信 (Short Message Service,SMS)一族,想必你有这样的体会:用手机编辑短信息十分不便、容易出错,而且修改费时,若能用计算机来收发短信则方便许多。...[ 查看全文 ]
  • 引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具。通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发环境所创建的应用程序框架中的工具条只是一个简单的按钮的集合,在功能上也仅仅是起到了菜单快捷方式的作用,而没有做到象VC、Word等软件的工具条那样,提供多种不同类型的标准控件如组合框、编辑框等。尤其是组合框在...[ 查看全文 ]
  • 首先必须初始化网络,可以在app的InitInstance()中用AfxSocketInit()或者直接用 WSAStartup( MAKEWORD(1,1),&wsaData) WORD wVersionRequested WSADATA 初始化 winsock WSACleanUp 然后是初始化套接字的方法,有tcp和udp两种tcp下: SOCKET(AF_INET,SOCK_STREAM,0) bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));//同下面的代码初始化SOCKADD_IN 服务器 listen (socket s, 超时时间) socket...[ 查看全文 ]
  • 一、引 言 ---- Windows Socket API是一套开放的、支持多种协议的Windows下的网络编程接口,它包 括一个标准的 Berkeley Socket功能调用的集合,以及为Windows所作的重要扩充。 Windows Socket经过不断完善并在众 多公司的全力支持下,已成为Windows网络编程 的事实上的标准。 ---- 本 文 将 在VC++ 5.0 环 境 下 介 绍 一个基于 Winsock 的 HTTP 客户应用程序。 读者可以基于本例 同样的原理实现其他Int...[ 查看全文 ]
手机页面 收藏网站 回到头部