用C#创建Windows(NT)服务

TUN/TAP 学习总结(三) —— Windows TUN demo TUN 阅读详情
                             用C#创建Windows(NT)服务
   青苹果工作室 2001年04月27日 17:58

Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。这个小技巧来自于MSDN,但是现在程序编写的更加清晰,并且你可以根据你的需要修改它。可下载工程文件包:mcWinService.zip
第一步:创建服务框架
要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 OK。结果看起来是这样的:


你可以看到,向导向工程文件中增加WebService1.cs类:


将ServiceName(服务名)设置成你自己需要的名字,这样在测试期间就更容易识别你的服务,也可以通过编写代码来设置这个属性,方法是this.ServiceName = "mcWinService":


向导在WebService1.cs中增加的默认代码
第二步:向服务中增加功能
在 WebService1.cs中我们可以看到,有两个被忽略的函数 OnStart和OnStop。

OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。在这里,当启动和停止服务时,向一个文本文件中写入一些文字信息,代码如此
第三步:安装和运行服务
这个应用程序最后生成一个exe文件mcWinService.exe。要注册这个服务,你需启动开始菜单中的命令行按如下方式调用installutil:installutil C:/mcWebService/bin/Debug/mcWebService.exe。要卸载服务,使用 /u 选项:installutil /u C:/mcWebService/bin/Debug/mcWebService.exe。

第四步:启动和停止服务
在桌面用右键点击图标“我的电脑”选择管理菜单项(Manage),然后启动“服务和应用程序(Services and Applications)”中的服务(Services);你也可以直接从开始菜单中选择管理工具中的计算机管理(Computer Management)进入服务。这样你就能看到服务 mcWinService,右键单击弹出菜单中有启动和停止选项。


第五步:测试服务
转到 temp 目录中,看看文本文件是否存在,有没有写入内容。

安卓设备安装谷歌三件套:原理、兼容性与稳定激活指南 谷歌三件套(GMS Core、Play Store、GSF)是Android系统中支撑全球主流应用运行的关键服务框架,其本质并非普通应用,而是深度集成于系统服务层的运行时组件,依赖签名验证、分区权限与服务链协同。技术上,它通过Google Services Framework注册设备身份,由Play Services提供位置、通知、账号等200+核心API,再经Play Store完成分发闭环。对华为、荣耀、小米等未预装GMS的设备而言,成功部署的核心在于匹配Android版本、CPU架构与厂商定制策略,规 阅读详情

相关推荐

AI浏览器:从信息工具到认知外延的范式革命

AI浏览器已超越传统网页渲染工具,演变为融合语义理解、上下文记忆与智能编排的‘认知增强基础设施’。其核心原理在于将大语言模型深度嵌入浏览链路,实现从关键词匹配到任务意图解析的跃迁,技术价值体现在大幅压缩信息筛选、知识整合与决策验证的认知负荷。典型应用场景覆盖学术研究、商业分析、内容创作与个人事务自动化,尤其在多源异构文档交叉分析(如PDF/网页/邮件)和隐私敏感型本地推理中展现不可替代性。本文聚焦ChatGPT Atlas、Genspark、Edge Copilot与Opera Aria四大主流AI浏览器的

cigang4063的博客 389

WinTun-开源

WinTun 是一个简单的用户友好应用程序,它创建一个 SSH 隧道来访问 RDP 会话。 它努力成为一个使用 libssh2 项目库的 win32 本机应用程序。 将来也打算支持 VNC。

Z-Image-Turbo:轻薄本核显跑SDXL的AIGC技术实现

AIGC图像生成长期受限于GPU硬件门槛,传统方案依赖NVIDIA CUDA生态,导致Intel集显设备难以参与。其核心原理在于软硬协同优化:通过oneAPI统一抽象层调用Xe Matrix Extensions(XMX)指令集,结合bfloat16精度适配与非结构化剪枝+知识蒸馏的模型压缩技术,在低显存(≤2GB)下实现SDXL级推理。该方案显著降低AIGC部署成本与功耗,支撑设计原型快速验证、企业私有模型本地化、旧设备AI复用等轻量化应用场景,标志着AIGC正从‘显卡中心化’迈向‘设备普适化’。

weixin_34367257的博客 338

windows tun demo

windows TUN 虚拟网卡使用的魔

C# 打开TAP驱动设备

.Net Framework x86 才可以打开驱动设备句柄,反之 .Net Core x64 才可以打开设备,要问为什么其实早前研究过一段时间,似乎是 .NetP/Invoke 的兼容性问题,TAP驱动只允许异步方式读写,同步方式读写一段时间以后就会收不到数据,另外 .Net 上面TAP驱动设备读写通过 “FileStream” 需要加锁同步 Flush,否则吞吐上不去并且会导致内部缓冲区溢出问题。 namespace My.Net { using System; using Sys.

liulilittle的博客 1464

【亲测免费】 Wintun 项目教程

Wintun 项目的目录结构如下: ``` wintun/ ├── api/ │ ├── api.c │ └── api.h ├── driver/ │ ├── driver.c │ └── driver.h ├── example/ │ ├── example.c │ └── example.h ├── setupapihost/ │ ├── setupapihos

gitblog_00649的博客 1001

#####TUN隧道模式####

隧道模式 client->vs->RS->client

weixin_44821839的博客 581

Gemini笔记本:构建可推理的个人AI知识库

AI知识库正从静态文档仓库升级为动态语义中枢,其核心在于语义索引与跨文档推理能力——通过理解上下文、实体关系和隐含意图,激活沉睡在PDF、会议录音、邮件等非结构化数据中的知识。相比传统关键词搜索,它支持自然语言提问、角色化指令与证据链追溯,显著降低信息调用成本。技术价值体现在将知识管理从‘存得下’转向‘唤得醒、推得准、用得深’,广泛应用于销售客户洞察、技术决策溯源、内容素材复用等高价值场景。Gemini笔记本正是这一范式落地的典型代表,依托原生生态实现安全、深度、持续演化的个人AI知识库构建。

anheku1562的博客 505

Golang Window TUN 虚拟网卡

1. wintun Linux 2.4以后下有一种特殊的虚拟网络设备tun,用户可以直接创建虚拟网卡tun,直接以文件读写方式从设备处读取到网络层数据包(IP数据包),该网卡可以像是真实网卡一样设置IP、配置路由、读写数据,只不过数据的读写由用户编写的程序完成。 Jason A. Donenfeld 基于tun 向Linux社区贡献了WireGuard 用于实现虚拟网络。 为了开发Windows的WireGuard,开发了wintun并且开源,以动态库的方式分发。[3] 2. 下载Wintun wintun

q1009020096的博客 1万+

用托盘控制windows服务c#实现

http://www.csdn.net/Develop/Read_Article.asp?Id=20312孟子e章给出的vb代码,现在从这个代码翻译成c#,给习惯c#的人参考需要注意的是图片一定需要是ico格式,否则可能会导致托盘的不显示using System;namespace UBISerialsController{ ///  /// Class1 的摘要说明。 //

508

C# 创建Windows(NT)服务

Windows 服务在 Visual Studio 以前的版本中叫NT服务,在 VS.net 启用了新的名称,Windows 服务Windows 服务程序,通常是一种在OS的后台长期运行的程序。你可以根据需要,设置为自动启动或者手动启动等。在传统的C/S结构的程序开发中,Windows服务 更是以Server端普遍存在。在.NET应用程序中,无论是Winform下的应用还是ASP.NET,Windows服务也都非常重要。比如,我们可 以把一个.Net Remoting服务端封装在一个window

zhangj1012003_2007的专栏 1159

KernelSkill:多智能体框架如何自动化优化GPU内核性能

GPU内核优化是高性能计算领域的核心挑战,涉及从硬件架构理解到代码级调优的复杂过程。其原理在于通过系统化方法挖掘GPU硬件的并行计算潜力,解决内存带宽、计算资源利用等瓶颈。这一技术的价值在于将专家经验编码为自动化策略,显著降低手工优化成本,提升开发效率。在应用场景上,无论是追求极致性能的同步矩阵乘法内核SOTA设计,还是需要精细调优的GPU微调大模型场景,自动化优化框架都能系统探索巨大的参数空间。本文介绍的KernelSkill多智能体框架,正是通过架构分析、性能剖析、内存优化、计算优化等专业智能体的分工协

weixin_30520015的博客 359

十二、C# WINDOW窗体技术及基础控件(2)

9、Lable控件 文本控件包含:标签控件(Lable)、按钮控件(button)、文本控件(TexBox)和有格式文本控件(RichTextBox) Lable控件可以说是最简单的空间,是System.Windows.Forms.Lable类提供的控件 Lable控件作用:用来提供其他空间的文字描述文字。例如登录窗体上的用户名,密码 设置 - 属性面板 - 代码 using System; using System.Collections.Generic; using System.Component

Mwyldnje2003的博客 3914

实现window下tun的读写小程序

实现window下tun的读写小程序 openvpn环境搭建好啦,请大神指点 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加...

weixin_43697820的博客 2006

基于 VEthernet 轻松实现 tun2socks 示例程序

VEthernet 基于.NET Framework 4.0(x86)+ C# 语言开发,做到不依赖任何第三方开源库,仅对于 “TAP-Windows” 驱动存在依赖。 那么 VEthernet 可以用于那些方面应用的开发? 1、报文嗅探 2、KVM激活(懂...) 3、游戏加速器 [可以轻松实现 tun2socket 模式,简化传统IPvX报文NAT(FULL)实现难度] 4、流量清洗 ......................................................

liulilittle的博客 2962

C# 语言访问 Windows 系统IP路由表的基础类库

namespace Ppp.Net { using System; using System.Collections.Generic; using System.Net; using global::Ppp.Net.Routing; using global::Ppp.Net.Tools; public static class Router { public enum Error { Suc.

liulilittle的博客 966
上一篇: Java程序性能和速度优化实例
下一篇: 中间件的分类
iBreathe
博客等级 码龄26年 3粉丝 65原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值