易截截图软件、单文件、免安装、纯绿色、仅160KB

如何利用VB编写NT服务程序

一、NT服务程序
    所谓NT服务,实际上就是一个可以在系统启动时自动在一定身份下启动的伴随系统长时间存在的进程。象FTP server、HTTP server、脱机打印等都是采用NT服务的形式提供的。这实际上类似Unix的root daemon进程。NT服务归纳起来,NT服务又以下几个特征:
    1、可以自启动,不需要交互启动。这对于服务器来说是一个重要的特征。当然,你可以决定服务是否自启动,甚至可以屏蔽某个服务。
    2、NT服务没有用户界面,基本上类似一个DOS 程序,因为NT服务必须长时间运行,所以不想普通win32进程一样有自己的界面。但是NT服务可以同用户有界面交互,这是一类特殊的服务进程。可以通过NT的任务管理器来看到服务进程。
    3、NT服务通过SCM(Services Control Manager)接口来管理,安装、启动、停止、撤除等都需要SCM的接口功能来进行。控制面板的服务控制器就是利用SCM接口来管理系统中的所有服务的。实际上,还有一些可以控制服务的程序或者命令,有net.exe 、服务器管理器等 、SCM.exe等。
    4、这些进程都以一定的身份运行,以方便进行服务器资源的存取。一般情况下使用域中的LocalSystem账号运行,此账号对本机上的大多数资源(除非特别禁止)有完全的存取权限,这样可以保证服务程序的“强大”。但是,也有些服务采用特别的账号运行,你也可以特别设定一个服务的帐号。
    5、由系统自动以线程方式运行,一般情况下不过多占用系统资源,这同普通的进程有所区别,如果不采用线程方式,一般进程往往消耗整个CPU资源。一般需要时时存在,又不能过多消耗资源的任务以服务来实现最合适。
二、服务控件
    一般认为编写NT服务需要使用C/C++来实现,VC6利用ATL向导来提供一个基本的服务框架。具体实现步骤为:FileàNew…àATL COM AppWizardàserviceàFinish.但是使用VC编写NT服务需要编写太多的代码,这也意味着需要太多的调试、维护。实际上,NT服务不是必须由C/C++才可以编写的,实际上可以由任何能够实现上一节几个特点的任何语言实现,包括VB。
VB编写服务有那些好处呢,至少可以列出以下几条:
    1、编码简单,熟悉Vb语法的任何人理解本文后都可编写。
    2、意味着修改服务实现


相关文档:

VB.NET中能不能对DATASET再用SQL语言

可以筛选数据,但不能是标准的SQL语句:
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.筛选:
dataset.tables("tabname").select("id=1")'相当于SQL中WHERE后的条件内容
2.保存到哪?这倒是不知 ......

在VB的类模块中使用定时器

    长久以来,由于不能直接获得VB类成员函数指针,因为无法在VB的类模块中直接使用定时器控件或定时器API,基于俺编写的获得类成员函数指针的函数,俺编写了这个带定时器功能的类,希望给朋友们一些启发。
    一、新建一个类,类名称为clsTimer,类代码如下:
Option Explicit
'* ** ......

VB过滤中文字符串源码

添加
两个TEXT(multiline=true)
一个按钮
Private Function isChinese(ByVal asciiv) As Boolean
a = AscW(asciiv)
If Len(Hex$(a)) > 2 Then
isChinese = True
Else
isChinese = False
End If
End Function
Private Sub Command1_Click()
text2.text="" '先清空text2
For i = 1 To Len(Text1.Text)
DoEve ......

vb制作可输出函数的通用DLL VB_DLL_Link用法

vb制作可输出函数的通用DLL---VB_DLL_Link用法
论坛越来越多人关注dll,特分享一下vb制作可输出函数的通用DLL---VB_DLL_Link用法
    大家知道,VB6只能制作ActiveX DLL文件,制作能输出函数的通用DLL文件通常要用到VC等工具。实际上,VB在编译的时候加以控制,经过适当处理也是可以制作通用DLL的。使用VB_DLL_ ......

VC实现类似VB中的LinkLabel功能

VC实现类似VB中的LinkLabel功能
 
 //VB里面有个LinkLabel,VB中的Label在VC中式CStatic,但是VC中CStatic没有类似LinkLabel的功能。可以自己
//添加一点代码来实现:
//不知道为什么IDC_HANDD一定要自己定义一下
#define IDC_HAND MAKEINTRESOURCE(32649)
//处理鼠标移动
void CAppNonameDlg::OnMouseMov ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号