Articles of 窗口服务

如何debuggingWindows服务

我已经使用代码项目文章创build了一个Windows服务。 我可以使用-i和-d开关安装服务并删除服务。 我能够在services.msc中看到这个服务,但是当我启动这个服务的时候,它什么都不做。下面我将会探讨这个服务的主要代码: void WINAPI ServiceMain(DWORD argc, LPTSTR *argv) { DWORD status; DWORD specificError; m_ServiceStatus.dwServiceType = SERVICE_WIN32; m_ServiceStatus.dwCurrentState = SERVICE_START_PENDING; m_ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP; m_ServiceStatus.dwWin32ExitCode = 0; m_ServiceStatus.dwServiceSpecificExitCode = 0; m_ServiceStatus.dwCheckPoint = 0; m_ServiceStatus.dwWaitHint = 0; m_ServiceStatusHandle = RegisterServiceCtrlHandler("Service1", ServiceCtrlHandler); if (m_ServiceStatusHandle == (SERVICE_STATUS_HANDLE)0) { return; } m_ServiceStatus.dwCurrentState = SERVICE_RUNNING; m_ServiceStatus.dwCheckPoint = 0; m_ServiceStatus.dwWaitHint = 0; […]

是否有可能强制杀死使用八达通的Windows服务?

我的章鱼在一台机器上安装Windows服务,但有时它不能停止服务,所以它不会部署。 如果我手动去机器,并尝试停止服务,我不能。 但是如果我第一次去任务pipe理器,并杀死服务的过程,那么我可以停止服务。 八达通是否已经有内置的function为我做这个? 或者我应该创build一个.bat执行它重新安装Windows服务之前?

将Windows C ++服务器编写为服务或控制台应用程序

这需要讨论在Windows 7 32位上使用C ++进行服务器开发相关的最佳实践 典型要求: 一个像“服务器”一样在后台运行的Windows程序。 它应该运行几天,应该在每次启动时自动运行。 服务器处理从其他设备(PC,智能手机,平板电脑)通过TCP套接字协议传入的客户端连接, 服务器通过TCP和串行通信与大量连接在同一networking中的embedded式设备进行通信 服务器充当桥接黑客(PC,智能手机,平板电脑)和embedded式设备 服务器pipe理员可以通过configuration.ini文件configuration服务器,然后启动服务器。 到客户端的接口是TCP套接字接口,客户端将发送命令和服务器inturn将回复缓冲区(XML)我的问题: 我应该写程序作为一个“服务”,如http://code.msdn.microsoft.com/windowsdesktop/CppWindowsService-cacf4948 或者我应该写一个控制台应用程序,并从XYNTService http://mysite.verizon.net/XiangYangL/XYNTService.htm控制此可执行文件,以便它像一个服务 或者是一个控制台应用程序,在registry中login时重新启动 这实际上是重要的,从上面select哪个选项? 提前谢谢了。

在ServiceMain上应该创build一个新的线程?

MSDN说: “ServiceMain函数应该创build一个全局事件,在这个事件上调用RegisterWaitForSingleObject函数并退出,这将终止运行ServiceMain函数的线程,但不会终止服务…” 所以问题是:应该在ServiceMain函数中创build一个新的线程来执行服务代码,或者我可以简单地将服务设置为RUNNING状态并使用ServiceMain线程来运行服务代码? 如果使用ServiceMain线程运行服务代码,即使服务状态设置为RUNNING,SCM也将保持locking状态?

如何使用C#从应用程序的安装文件夹读取文件?

我正在使用File.ReadAllText(“filename.txt”)读取文件。 该文件位于.exe文件所在的文件夹(c:/ program files / installation folder)中。 但Windows应用程序默认情况下,该文件查看System32文件夹。 **我不想硬编码文件的path。

Windows内核驱动程序签名和服务创build

在签署我的内核模式驱动程序并为其创build服务时遇到一些麻烦。 所以,我使用makecert创build了一个自签名证书: makecert -r -pe -n“CN = XXX”-ss“XXX”-sr LocalMachine 然后使用证书pipe理pipe理单元将证书导出到.pfx文件并使用signtool签署.sys驱动程序: signtool sign / f myCert.pfx / p xxx / t http://timestamp.comodoca.com/authenticode driver.sys 哪个成功了。 在使用signtool进行validation时,我收到: validation:driver.sys文件(sha1)的哈希:9A … 7F Signing Certificate Chain: Issued to: XXX Issued by: xxx Expires: Sat Dec 31 16:59:59 2039 SHA1 hash: 12…46 The signature is timestamped: Sun Jun 10 03:35:21 2012 Timestamp […]

如何在Windows中开发一个服务器

我把这个问题作为一个具有强大的Linux系统编程背景的人来问。 我在Windows开发方面的经验很less,而且迄今为止仅限于“控制台应用程序”types的程序。 知道它必须在Windows上运行,开发服务器的规范过程是什么? 是否立即构buildWindows Service应用程序? debugging过程是否真的像讨厌的一样 ? Windows开发人员为了debugging而开始使用命令行应用程序 ,只将其转换为部署服务? 为了比较,我将提供一个Linux“服务器”是所选语言的常规命令行程序。 我将把服务器定义为一个定型的程序, 以日志的forms生成大部分人类可读的输出, 接受来自操作系统的input(例如networking或文件系统事件),而不是“用户点击button”或“用户键入命令”,以及 被部署为一个守护进程。 这可能是Windows系统pipe理员期望完全不同的接口来启动,停止和pipe理服务器。 我对此绝对开放。 我还没有看到事物的整个一面。 $ ./my-server & Starting… $ head /var/my-server.log 2012-3-10 14:34:43.934 [info] Server started! Waiting for connection from client $

C#windows服务是否需要花费时间在60-65秒左右开始?

嗨,我已经在C#中devise了一个Windows服务,需要一些时间来启动(60-70秒)。我想知道它通常需要很长时间才能启动,或者是我的代码需要花费那么多时间。 我有两个线程,每6秒和1分钟运行。 如果花费那么多时间,有人可以告诉我为什么需要那么多时间。 不详细只是一个概述。

在Windows中定期运行.NET组件的解决scheme

我需要编写一些定期运行的.NET代码,以检查数据库表中的“未处理”项目,处理它们,然后回写数据库处理它们。 我们可能会将其设置为每分钟运行一次。 如何在Windows Server环境中设置组件,以便定期执行代码?

我如何让我的Windows服务在特定的时间间隔运行?

我想写一个Windows服务。 但它需要在特定的时间运行。 例如,我的服务应该每5分钟给我发一封电子邮件。 private Timer _timer; private DateTime _lastRun = DateTime.Now; protected override void OnStart(string[] args) { _timer = new Timer(10 * 60 * 1000); // every 10 minutes _timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); //… } private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { // ignore the time, just compare the date if (_lastRun.Date < DateTime.Now.Date) { […]