如何判断当前程序是由Windows服务启动还是由用户启动?


当我用windows service启动一个应用程序时,它的临时文件夹路径会由原来的: C:\Documents and Settings\Users\Application Data变为 C:\windows\system32\config\systemprofile, 我要怎样才能重定位到用户临时文件夹.

VC C++

飞翔的小菊花 12 years, 7 months ago

.net里面编写Windows服务很这容易,它与普通的windows程序没什么不一样,

Windows服务的启动代码为:
ServiceBase.Run(new ServiceBase());
一般Windows程序的启动代码为:
Application.Run(new Form());

其它地方都一样,除了服务没有UI外(以特殊方式可以产生与用户交互的UI)。

如果想判断启动的方式话,建议你可以从
ServiceBase.Run方法或者Application.Run方法去排除其中的一种
鉴于这种思路你可以参考一下

大胡子怪叔叔 answered 12 years, 7 months ago

Your Answer