标题:用VB.NET服务实现更换桌面背景时候遇到的神奇问题!
取消只看楼主
boobsoft
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-7-5
 问题点数:0 回复次数:0 
用VB.NET服务实现更换桌面背景时候遇到的神奇问题!
我用写了一个服务程序,实现在Windows登录之前更换桌面背景。

奇怪的是,如果我直接启动EXE那么它是有效的,桌面背景被更换了。

但是,这个EXE程序如果在服务中被Shell调用,则无效。

我仔细查看了一下,终于发现了其中的区别:

直接启动EXE,那么在任务管理器中可以看到它的用户是Administrator

而当在服务中被Shell调用的时候,它的用户是LocalSystem

显然LocalSystem账户下,程序无法区分是给哪个用户设置桌面背景,所以也就无效。

按照这个思路,我在服务中用下列代码,让程序获得指定用户权限      
        Dim username As String = "Administrator"
        Dim password As Security.SecureString = ConvertToSecureString("My Password")
        Dim domain As String = Nothing
        Dim filename As String = "C:\1.EXE"
        System.Diagnostics.Process.Start(filename, username, password, domain)

本来以为这样就OK了,可是结果让我大跌眼镜——居然出现未知错误!崩溃,彻底没辙了。

各位兄弟有何高见? 如何才能在Windows登录之前更换桌面背景。

搜索更多相关主题的帖子: NET 神奇 服务 
2010-07-05 17:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-312197-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.116618 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved