Delphi编写系统服务:完成端口演示】的更多相关文章

在开发大量Socket并发服务器,完成端口加重叠I/O是迄今为止最好的一种解决方案,下面是简单的介绍:   “完成端口”模型是迄今为止最为复杂的一种I/O模型,特别适合需要同时管理为数众多的套接字,采用这种模型,往往可以达到最佳的系统性能.但是只适合Windows NT和Windows 2000及以上操作系统.因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千套接字的时候,而且希望随着系统内安装的CPU数量增多,应用程序的性能也可以线性提升,才考虑采用“完成端口”模型.    重叠I/…
打开Delphi 7,新建,选择Other->Service Application 修改属性中Name和DisplayName,Name是Service的名称,决定着进程的标识,DisplayName是显示在操作系统里的服务面板里的服务的名称.例如我们将Name修改为NoticeService. 新建一个类,例如名字叫做TNoticeThread,继承自TThread,并重写protected过程Execute.在NoticeService的类定义中添加一个NoticeThread对象. 找到…
DELPHI编写服务程序总结 一.服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行:系统服务是运行在System Idle Process/System/smss/winlogon/services下的,而桌面程序是运行在Explorer下的:系统服务拥有更高的权限,系统服务拥有Sytem的权限,而桌面程序只有Administrator权限:在Delphi中系统服务是对桌面程序进行了再…
DELPHI编写服务程序总结 一.服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行:系统服务是运行在System Idle Process/System/smss/winlogon/services下的,而桌面程序是运行在Explorer下的:系统服务拥有更高的权限,系统服务拥有Sytem的权限,而桌面程序只有Administrator权限:在Delphi中系统服务是对桌面程序进行了再…
delphi编写winsocket的流程 1.在窗体创建的时候启用动态连接库(引用winsock)    var  aWSAData:TWSAData;    if WSAStartup($0101,aWSAData)<>0 then  begin    MessageBox(Handle,'不能启动winsock动态链接库!','错误',MB_OK);    Exit;  end; 2.然后启动监听线程  Lthread:=TListenthread.CreateIt(9002); 3.线程…
Delphi编写后台监控软件         文章来源:Delphi程序员之家     后台监控软件,为了达到隐蔽监控的目的,应该满足正常运行时,不显示在任务栏上,在按Ctrl+Alt+Del出现的任务列表中也不显示,管理员可以通过热键调出隐藏的运行界面.要作到这些,必须把当前进程变为一个系统服务,并且定义全局热键. 一.把当前进程变为一个系统服务: 目的是在任务列表中把程序隐藏起来.调用API函数RegisterServiceProcess实现. 二.定义全局热键(本例中定义热键Ctrl+De…
http://www.okbase.net/doc/details/931  还没有亲自验证过,仅收藏 当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作.很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些不足,如做成的安装程序一般较大:风格较单一:不能灵活的控制启动方式和快捷方式.其实安装…
delphi编写dll心得 1.每个函数体(包括exports和非exports函数)后面加 'stdcall;', 以编写出通用的dll2.exports函数后面必须加'export;'(放在'stdcall;'前面)3.对于非exports函数可以使用string类型,而且建议使用string类型进行参数传递4.对于exports函数请使用PChar类型做参数传递5.如果exports调用其他函数,建议在exports函数体内使用变量过渡,然后再调用其他函数:  也就是说:尽量不要把expo…
这个问题捣鼓了两天,现在终于解决了,做个笔记分享给大家,以免走弯路 起初,我的想法是在DLL中写一个interface并从函数中导出这个interface,像这样的代码 ICom1 = interface function Show(V1, V2: Integer): Integer stdcall; end; 最后均以失败告终,后来想到各种编译器对编译后的二进制组织方式是不同的比如上面的代码如果用Delphi编写的Exe去调用就是没问题的,而用其他语言则可能会有问题网上有很多跨语言调用方案是用…
一.Delphi与Socket 计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议.TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆BBS,用的就是TCP协议:UDP是无连接的,通信双方都不保持对方的状态,浏览器访问Internet时使用的HTTP协议就是基于UDP协议的.TCP和UDP协议都非常复杂,尤其是TCP协议,为了保证网络传输的正确性和有效性,必须进行一系列复杂的纠错和排序等处理. Socket是建立在传输层协议(主…