首页 后端开发 C#.Net教程 详解C#不登录电脑启动程序(图文)

详解C#不登录电脑启动程序(图文)

Mar 28, 2017 am 11:39 AM
c# 启动程序

本文主要介绍了创建系统服务;开启服务,启动程序。具有一定的参考价值,下面跟着小编一起来看下吧

阅读目录

  • 创建系统服务

  • 开启服务,启动程序

我们知道开机自启动程序如果在用户不登录的情况下是不启动的,但是服务类程序是可以跨过用户登录启动的,例如IIS服务,SQL服务。如果我们已经写好了桌面应用程序,又希望他开机自启动,那就需要借助系统服务在未登录的时候打开程序。

创建系统服务

在VS中创建Windows服务:

在Service的OnStart方法中,启动程序,代码如下:

 protected override void OnStart(string[] args)
 {
  if (!IsExistProcess("程序名"))
  {
   //程序路径
   string exePath = "";
   Process.Start(exePath);
  }
  string path = AppDomain.CurrentDomain.BaseDirectory;
  FileInfo fi = new FileInfo(path + "\\info.txt");
  using (FileStream stream = fi.OpenWrite())
  {
   StreamWriter streamWriter = new StreamWriter(stream);
   streamWriter.Write("服务启动日期:" + DateTime.Now.ToString());
   streamWriter.Flush();
   streamWriter.Close();
  }
 }
 protected override void OnStop()
 {
  string path = AppDomain.CurrentDomain.BaseDirectory;
  FileInfo fi = new FileInfo(path + "\\info.txt");
  using (FileStream stream = fi.OpenWrite())
  {
   StreamWriter streamWriter = new StreamWriter(stream);
   streamWriter.Write("服务关闭日期:" + DateTime.Now.ToString());
   streamWriter.Flush();
   streamWriter.Close();
  }
 }
 /// <summary>
 /// 判断进程是否开启
 /// </summary>
 /// <param name="processName"></param>
 /// <returns></returns>
 private bool IsExistProcess(string processName)
 {
  Process[] MyProcesses = Process.GetProcesses();
  foreach (Process MyProcess in MyProcesses)
  {
   if (MyProcess.ProcessName.CompareTo(processName) == 0)
   { return true; }
  }
  return false;
 }
登录后复制

在Service的设计视图添加安装程序:

设置ProcessInstaller的Account为LocalSystem

设置serviceInstaller的StartType为Automatic,ServiceName和Description为进程中显示的名字和描述

回到目录

开启服务,启动程序

程序编译好,取出BIN文件夹,添加开启服务和关闭服务的批处理文件,如下图:

开启桌面程序的关键点,更改进程登录模式

安装后启动.bat内容为:

安装服务
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil AutoStart.exe
停止服务
sc stop AutoStartHik
更改登录
sc config AutoStartHik type= interact type= own
启动服务
sc start AutoStartHik
登录后复制

卸载服务.bat内容为:

段落引sc stop AutoStartHik
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil AutoStart.exe /u
登录后复制

至此执行启动服务的bat文件后完成,开机自启动桌面程序。

注:有朋友在问题中提到了运行的问题,我在这里截张图

运行后的程序如果有和桌面交互的语句,会有以下提示,如你MessgeBox语句

点进去之后会有一个全新的桌面,上面运行着你通过服务启动的程序,如果和桌面不交互,你在进程里可以看到exe正在运行,他的显示界面在交互式服务里自己安静的运行。

以上是详解C#不登录电脑启动程序(图文)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用 C# 的活动目录 使用 C# 的活动目录 Sep 03, 2024 pm 03:33 PM

使用 C# 的 Active Directory 指南。在这里,我们讨论 Active Directory 在 C# 中的介绍和工作原理以及语法和示例。

C# 中的随机数生成器 C# 中的随机数生成器 Sep 03, 2024 pm 03:34 PM

C# 随机数生成器指南。在这里,我们讨论随机数生成器的工作原理、伪随机数和安全数的概念。

C# 中的访问修饰符 C# 中的访问修饰符 Sep 03, 2024 pm 03:24 PM

C# 中的访问修饰符指南。我们已经讨论了 C# 中访问修饰符的简介类型以及示例和输出。

C# 数据网格视图 C# 数据网格视图 Sep 03, 2024 pm 03:32 PM

C# 数据网格视图指南。在这里,我们讨论如何从 SQL 数据库或 Excel 文件加载和导出数据网格视图的示例。

C# 序列化 C# 序列化 Sep 03, 2024 pm 03:30 PM

C# 序列化指南。这里我们分别讨论C#序列化对象的介绍、步骤、工作原理和示例。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在这里,我们讨论 C# 中模式的介绍和前 3 种类型,以及其示例和代码实现。

C# 中的质数 C# 中的质数 Sep 03, 2024 pm 03:35 PM

C# 素数指南。这里我们讨论c#中素数的介绍和示例以及代码实现。

C# 中的阶乘 C# 中的阶乘 Sep 03, 2024 pm 03:34 PM

C# 阶乘指南。这里我们讨论 C# 中阶乘的介绍以及不同的示例和代码实现。

See all articles