许多应用程序,如输入法管理器、杀毒软件等均在任务栏布告区中放置一个有自已特色的图标,该图标让用户知道有一个后台程序正在运行,同时也提供了一种修改系统设置的快捷方法,本文将以C++ Builder为例简述它的实现方法。 打开一个新工程,将工程文件取名为test、单元文件取名为main。在窗口上放置二个按钮、一个标签,其属 发布时间:2012-06-30 作者: 佚名技术 views(326)
(三)对服务的深入讨论之下 现在我们还剩下一个函数可以在细节上讨论,那就是服务的CtrlHandler函数。 当调用RegisterServiceCtrlHandler函数时,SCM得到并保存这个回调函数的地址。一个SCP调一个告诉SCM如何去控制服务的Win32函数,现在已经有10个预定义的控制请求: Control code Meaning 发布时间:2012-06-30 作者: 佚名技术 views(443)
Windows注册表中包含了系统配置、机器硬件配置、Win32应用程序和用户的其他配置信息。注册表根据系统信息分为六个根键(RootKey),其中每个根键各有一个由子键和键值组成的树状结构,每个子键代表一个特定的配置项目。 用C++Builer控制注册表的关键在于了解TRegistry 类。在C++Builder的VCL类库中,提供了TRegistry类,通过在 发布时间:2012-06-30 作者: 佚名技术 views(175)
----此例中原程序使用Delphi编制,老妖将之改成CB版。:D ----WindowsNTServer提供多种功能强大的服务(Service),例如FTP,WWW或远程登录服务,另外常用的数据库服务器也是以Service的形式存在于NTServer上的,如Sybase SQLServer For NT。Service一般在NT启动时自动启动,在NT关机时停止。但是有时用户可能想手工启动、暂停、 发布时间:2012-06-30 作者: 佚名技术 views(501)
(二)对服务的深入讨论之上 上一章其实只是概括性的介绍,下面开始才是真正的细节所在。在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是一个SERVICE_TABLE_ENTRY的例子: SERVICE_TABLE_E 发布时间:2012-06-30 作者: 佚名技术 views(376)
熟悉Windows操作系统的软件设计人员知道,在Win95/98/NT/2000中有一任务栏(Task Bar)程序,路径为:C:\WINDOWS\SYSTEM\SYSTRAY.EXE(假设你的Windows安装在系统默认路径C:\WINDOWS)。从系统功能角度分析,任务栏由几个不同的子区域组成,从左至右依次是:开始(Start)按钮、应用程序切换区(Application Switch Bar)、 发布时间:2012-06-30 作者: 佚名技术 views(170)
//Win2000WinNT实现的代码 HANDLE hToken; TOKEN_PRIVILEGES tkp; if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, hToken)) { LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, tkp.Privileges[0].Luid); tkp.Privile 发布时间:2012-06-30 作者: 佚名技术 views(176)
有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。 (一)服务的基础知识 Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一 发布时间:2012-06-30 作者: 佚名技术 views(235)
|