当程序以Windows Services形式启动时当前路径不对

很多时候我们需要将我们的程序写成利用Windows服务的形式来让它能够自启动。今天遇到一个问题,当一个程序注册成Windows Services的形式启动的话,当前程序的CurrentDirectory会被设置成系统目录C:\WINDOWS\system32。这样子的话如果你原先程序里访问一些相对路径的资源的话就会出错误,所以需要显示的将当前路径设置到运行程序所在的路径。

System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);

什么?不知道怎么创建一个Windows Service的程序?

MSDN详解:How to: Create Windows Services

当程序以Windows Services形式启动时当前路径不对,布布扣,bubuko.com

时间: 2024-10-13 12:33:51

当程序以Windows Services形式启动时当前路径不对的相关文章

ubuntu和windows双系统,启动时优先进入windows系统

如果在windows系统的基础上再安装ubuntu,系统启动时会默认进入ubuntu系统,当然在选择界面可以手工选择进入windows系统; 1 备选启动项列表 通常有ubuntu/ubuntu高级选项/.../windows 10若干个选项,选项的序号从0开始 2 进入ubuntu系统,并打开终端窗口,输入命令“cd /etc/default/”并按回车键确认 3 输入命令“sudo sudo nano grub”并按回车键确认 4 根据弹出的命令提示输入当前管理员帐号密码 5 密码验证通过后

总结各种随windows运行而启动的程序可能躲藏的地方

一.经典的启动--"启动"文件夹 单击"开始→程序",你会发现一个"启动"菜单,这就是最经典的Windows启动位置,右击"启动"菜单选择"打开"即可将其打开,其中的程序和快捷方式都会在系统启动时自动运行. 二.有名的启动--注册表启动项 注册表是启动程序藏身之处最多的地方,主要有以下几项: 1.Run键 Run键是病毒最青睐的自启动之所,该键位置是[HKEY_CURRENT_USER\Software\M

android实现应用程序只有在第一次启动时显示引导界面

概述 SharedPreferences的使用非常简单,能够轻松的存放数据和读取数据.SharedPreferences只能保存简单类型的数据,例如,String.int等.一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存. 使用SharedPreferences保存key-value对的步骤如下: (1)使用Activity类的getSharedPreferences方法获得SharedPrefere

启动C:\Windows\System32\logiLDA.DLL时出现问题,找不到指定模块

环境:windows8.1专业版 问题:启动C:\Windows\System32\logiLDA.DLL时出现问题,找不到指定模块 每次开机都会弹出上图所示的信息. 经过查找是罗技鼠标驱动的问题:而把驱动卸载之后还是会弹对话框,更让人受不了的是C:\Windows\System32\logiLDA.DLL是存在的. 大部分的情况是系统盘不在C盘,而我的在C盘,同样出现这样的问题. 系统盘不在C盘的解决办法: 有遇到的没?Windows8不是安装在C盘,启动时提示LogiLDA.dll找不到-远

如何在ASP.NET Core程序启动时运行异步任务(2)

原文:Running async tasks on app startup in ASP.NET Core (Part 2) 作者:Andrew Lock 译者:Lamond Lu 在我的上一篇博客中,我介绍了如何在ASP.NET Core应用程序启动时运行一些一次性异步任务.本篇博客将继续讨论上一篇的内容,如果你还没有读过,我建议你先读一下前一篇. 在本篇博客中,我将展示上一篇博文中提出的"在Program.cs中手动运行异步任务"的实现方法.该实现会使用一些简单的接口和类来封装应用

java程序 启动时参数

iEMP34:/opt/version/lktest/b030/jre/jre_linux/bin # ./java -classpath . SysInfo Exception in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.

Linux下查看进程(程序)启动时的环境变量

背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题,因为在我设置开机启动的服务时用service jira start出现找不到一些变量,如:获取不到java的home目录,提示找不到,为此,我加上了java的环境变量开机启动Ok了,但是英文,我对英文认识少,但还是想用中文,否则插件就等于白安了. 为此,需要弄清这两者的环境变量的区别在哪儿,如何查看

在启动Windows Process Activation Service时,出现错误13:数据无效

在启动Windows Process Activation Service时,出现错误13:数据无效 1.错误原因: 当Windows Process Activation Service从C:\Windows\system32\inetsrv\config\applicationHost.config中读取configuration数据时,数据收到了损坏,错误消息是:Configuration file is not well-formed XML,数据无效. 2.解决方法: 将c:\inet

Android应用程序启动时发生AndroidRuntime : ClassNotFoundException for Activity class的解决方法

在android应用程序启动时抛出下面异常导致启动失败:07-09 17:12:35.709: ERROR/AndroidRuntime(3866): Uncaught handler: thread main exiting due to uncaught exception 07-09 17:12:35.719: ERROR/AndroidRuntime(3866): java.lang.RuntimeException: Unable to instantiate activity Com