首先,名字必须以Global\开头. 其次,需要配置权限 var rule = new AccessRule<MemoryMappedFileRights>("everyone", MemoryMappedFileRights.FullControl, AccessControlType.Allow); var security = new MemoryMappedFileSecurity(); security.AddAccessRule(rule); mmf.SetAc…
勾选允许服务与桌面交互 指服务是否在桌面上提供用户界面,当服务启动后不论是谁登录都能使用.只有作为 LocalSystem 帐户(由“此帐户”指定)运行时,该选项才能使用. 如果一个服务需要界面(比如跳出一个对话框),接受用户的输入,接收键盘鼠标消息等等,必须选中“允许服务与桌面交互”. 因为没有解决跨SESSION的问题,大致原理是这样的: 1.服务程序必须设置成可与桌面交互,看看MSDN中的创建服务选项,可以找到这一项,这是能显示窗口的前提,不需要使用CreateProcessAsUser.…
当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候,我们应该怎么做呢? 快速给Windows服务添加实时交互功能的方案 Windows服务是一个进程,而我们用于交互的程序,又是另外一个进程.我们与Windows服务实时交互,其实就是一个进程间通信的问题.所有的进程间通信的方案基本上都适用于实时交互的方案,比如Socket.共享内存.管道.COM等.…
最近经常在我的xp系统进程中出现Zsd.exe进程.刚开始他占用内存不是很大.但是过了一段时间就会变成几百M 机器就会变得很卡,网上说Zsd可能是病毒.所以我就想要不写一个Windows服务,让他每隔几秒钟去kill 掉Zsd.exe 下面是我用VS编写服务程序的过程,为了以后随时查阅,现在把它记录下来. 1.新建C# Windows服务:windows service工程 2.新建windows service工程后,系统自动生成一个Service1.cs文件,默认是其设计视图.选择查看其代码…
写一个Windows上的守护进程(6)Windows服务 守护进程因为要开机启动,还要高权限,所以我就把它做成Windows服务了. 关于Windows服务的官方文档,大家可以看https://msdn.microsoft.com/en-us/library/windows/desktop/ms686953(v=vs.85).aspx. 总的来说,服务的行为区别于普通应用程序的地方有以下几点: 1. 一般来说,服务是运行于System用户下的,当然也可以自己指定.也就是说服务可以在无用户登录的情…
powershell脚本之windows服务与进程 服务与进程的区别: Windows服务是指系统自动完成的,不需要和用户交互的过程,可长时间运行的可执行应用程序 进程是程序运行的实例,系统会给运行中的进程分配CPU.内存等资源 一个服务不管有没有被运行,都在你的硬盘里,只有当它真正被运行时,操作系统就会真正给它分配内存.CPU时间片等资源,这一次运行就对应一个“进程” windows服务的登录账户有三种: 1.Local System (本地系统) 2.Network  Service(网络服…
这里安装windows服务我们用sc命令,这里需要远程服务器IP,服务名称.显示名称.描述以及执行文件,安装后需要验证服务是否安装成功,验证方法可以直接调用ServiceController来查询服务,也可以通过远程注册表来查找服务的执行文件:那么卸载文件我们也就用SC命令了,卸载后需要检测是否卸载成功,修改显示名称和描述也用sc命令.至于停止和启动Windows服务我们可以用sc命令也可以用ServiceController的API,当停止失败的时候我们会强制杀掉远程进程,在卸载windows…
Windows Service 是主要用于服务器环境而长期运行的应用程序, 这类程序不需要有用户界面或者任何模拟输出. 任何的用户消息通常都是记录在Windows 事件日志里.Windows Service可以在操作系统启动的时候开始,一直在后台运行,当有需要时也可以手动启动,我们可以通过管理工具里面的服务进行统一管理.当系统启动完毕后,Windows服务并不需要通过登陆页面后才能启动,而我们启动一般的exe文件却要先登陆Windows后才能启动它. Windows Service 是一种可随…
windows服务下无法启动外部程序 做一个windows服务监听服务,涉及到windows服务启动外部程序的一个过程,但是调试测试发现,无法简单的用process.start()这种方法, 原因是在vista和win7这样的系统下,服务是运行在session 0,而基本上应用是运行在session 1,所以windows服务下无法启动process.start(). 网上看到windows服务下无法启动外部程序的原因,解决方案 1.在WinXP和Win2003环境中,安装服务后,右键单击服务“…
前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用.还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务.本文就向大家介绍如何运用C#来创建.安装.卸载.调试Windows Service程序. 一.创建Windows服…
Windows服务Debug版本 注册 Services.exe -regserver 卸载 Services.exe -unregserver Windows服务Release版本 注册 Services.exe -service 卸载 Services.exe -unregserver 原理 Windows服务的Debug.Release版本的注册和卸载方式均已明确.但是为什么要这么做呢. 最初我在第一次编写Windows服务的程序时,并不清楚Windows服务的注册方式.于是从谷歌搜索后得…
最近在做一个windows服务的项目,发现并解决了一些问题,拿出来和大家分享一下,以下windows服务简称“服务” 文章会在适合时间更新,因为朋友们在不断提出新的意见或思路,感谢-.- 1.服务如何在某种情况下弹出一个窗体? 第一种解决办法,用安装程序的代码修改注册表来完成: 1.右击服务的视图设计界面的空白处,添加安装程序 2.右击默认的serviceProcessInstaller1-->属性-->Account属性设置为LocalSystem 3.右击安装程序空白处-->查看代码…
Windows 服务开发平时不太受人关注,毕竟那是高大上的项目类型,平常需求也用不上,很多老掉牙的家伙也只知有WinForm,仍不知有WPF,更别说Windows 服务了,正如陶渊明所写的,“不知有汉,无论魏晋”. 通常,就算要让程序开机启动,多数也只考虑设置一个启动项,也很少去想到开发Windows服务.如果程序需要自动启动,并且希望在后台完成一些东东,其实使用Windows服务也不错的. 正因为用的人少,那么说的人更少了,使得不了解它,想学又找不到资料的人也多.没事,老周没什么资本,唯一值得…
经常看到一些人在调试 Windows 服务时,很执著的在附加进程后调试!其实 .Net 编写的 Windows 应用程序,包括 Windows 服务都可以编译成 Console 程序!甚至于 ASP.Net ASPX 的 codebehind 里加个 Main 函数,编译成 Console 也未尝不可!万事万物皆Console!(学自<thinking in java>万事万物皆对象!有点牵强,表笑偶)利用 Visual Studio .Net 2003 创建的 "Windows 服…
用C#创建Windows服务(Windows Services) 学习:  第一步:创建服务框架 创建一个新的 Windows 服务项目,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名 ,然后点击 确定.现在项目中有个Service1.cs类: 查看其各属性的含意是: Autolog                 是否自动写入系统的日志文件         CanHandlePowerEvent     服务时候接受电源事件…
因为想把quartz.net自动run的程式挂到windows服务中去,遇到问题记录 1.创建windows服务后,利用C:\Windows\Microsoft.NET\Framework\v4.0.30319下的InstallUtil.exe执行安装 cmd cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 InstallUtil  f:\xx.exe   --安装服务 InstallUtil -u  f:\xx.exe  --卸载服务 Proj…
过去几个月,DevOps on Windows网站推出了一系列文章,详细讲解了开发者应怎样创建便于运维的Windows服务.这一系列文章详细分析了如何克服在运维部门看来最困难的部分:Windows服务的安装与其启动阶段. 其中有些困难是由于安装基于.Net的Windows服务时,普遍使用了InstallUtil这个非原生的Windows工具.同时要特别当心启动阶段的代码,它应在启动失败时确保提供清晰的错误信息,并且要能够支持运行时间较长的操作,例如从数据库中装载与缓存数据. DevOps on…
序言 前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总结下,windows服务的编写,调试,安装卸载. Windows服务介绍 Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这使服务非常适合在服务器上使用,或…
基于0起步来创建一个服务,做到简单的记录时间日志功能,其具体招行方法可自行添加. 1.创建服务 2.删除默认服务文件 3.添加自己的服务文件 4.更改启动项目 5. 引用 using System.Timers;并添加FileClass类 FileClass类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Termin…
总之:用 nssm 比 srvany.exe 简便多了.1. 下载nginx windows版本:http://nginx.org/ 2. 下载 nssm :http://nssm.cc/3. 安装Nginx下载解压到一个目录,nssm下载后解压相应版本(32/64)到一个目录.然后安装服务:nssm install N1 "D:\N1\nginx.exe" 即可安装成功最基本的服务,不过启动的是nssm,让后由nssm启动nginx.现在就可以通过控制面板->管理员工具->…
Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序. 服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面. 服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用. 还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务 一.创建服务 1.VS新建一个Windows服务项目,命名MyWindowsService…
转自“简时空”:<将MongoDB设为Windows服务> 1.前言 MongoDB 安装.配置完后,必须先启动它,然后才能使用它.通常有3中方式来启动数据库实例:① 通过命令行方式:② 通过配置文件方式 : ③ 通过Daemon方式: 网上也有很多这类的教程,比如<Mongodb后台daemon方式启动>.<MongoDB在windows下安装配置>等.不过各种资料参差不齐,所以我这里重新将其整理出来,以备查找. 2.Windows下使用“服务”实现Daemon方式…
安装自创建的windows服务. 使用工具InstallUtil.exe进行安装和卸载创建的windows服务 安装:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallUtil.exe F:\test\WindowsServe\UpdateFile\Debug\UpdateFile.exe 其中:FilePath为你创建的项目的运行exe文件所在目录, 卸载: C:/WINDOWS/Microsoft.NET/Framework/v2.0.…
Windows服务作用:定时用户消息推送,WEB程序实时统计等 Windows服务创建:C#创建服务的方式也有很多种,建议大家在做之前可以先全面了解一下这方面东西再去动手这样便于解决中间遇到一些比较棘手的小问题. 主要说一种通过SC命令实现服务的创建.修改.查询.卸载.开始.暂停,具体服务工作的业务可以另行完善. 1,创建一个控制台程序,当然也可以写个winform或者其他XXX 2,在创建好的项目中新建一个服务 创建完服务,剩下的就需要代码实现了. 思路:我们将通过模拟在命令窗中输入SC服务命…
srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等. 如何获取? 你可以通过下载并安装Microsoft Windows Resource Kits获得或者可以通过…
一.创建一个Windows Service1)创建Windows Service项目 2)对Service重命名将Service1重命名为你服务名称,这里我们命名为ServiceTest. 二.创建服务安装程序1)添加安装程序 之后我们可以看到上图,自动为我们创建了ProjectInstaller.cs以及2个安装的组件.2)修改安装服务名右键serviceInsraller1,选择属性,将ServiceName的值改为ServiceTest. 3)修改安装权限右键serviceProcessI…
一.测试Windows服务 为了使Windows服务程序能够正常运行,我们需要像创建一般应用程序那样为它创建一个程序的入口点.像其他应用程序一样,Windows服务也是在Program.cs的Main()函数中完成这个操作.首先我们在Main()函数中创建一个Windows服务的实例,该实例应该是ServiceBase类的某个子类的对象,然后我们调用由基类ServiceBase类定义的一个Run()方法.然而调用Run()方法并不意味着就开始了Windows服务程序,必须要等到该对象的OnSta…
什么是windows服务?      一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就能开始运行了,它必须有特定的启动方式.这些启动方式包括了自动启动和手动启动两种.对于自动启动的Windows服务程序,它们在 Windows启动或是重启之后用户登录之前就开始执行了.只要你将相应的Windows服务程序注册到服务控制管理器(Service Control Manager)中,并将其启…
使用C#开发自定义windows服务是一件十分简单的事.那么什么时候,我们需要自己开发windows服务呢,就是当我们需要计算机定期或者一 直执行我们开发的某些程序的时候.我经常看到许多人开发的windows服务安装卸载都是使用cmd命令来进行的,我觉得这样的话,部署起来比较麻烦,于是就考虑做了一个可视化的windows控制程序,方便,快捷. 这里我以一个WCF的监听服务为例,因为我是做一个局域聊天室,需要服务器端监听终端,所以我就开发了一个服务,以便控制此监听服务.然而,我们开发的window…
    今天学习了在.net下创建一个windows服务,总结一下学习心得.     开发环境:visual studio 2012   一.编写程序 (1)创建一个空解决方法 (2)添加一个控制台应用程序项目 (3)添加一个Windows服务,如下所示:   (4)右键 查看代码 看到如下代码: public WindowsService() { InitializeComponent(); } protected override void OnStart(string[] args) {…