procedure TsvrExamCtrl.ServiceStart(Sender: TService; var Started: Boolean);
var
  CMD: string;
begin
  WinExec(PAnsiChar('C:\Windows\notepad.exe'), SW_SHOWNORMAL);
end;
以上是我服务程序 在服务启动的时候 的代码 服……

其实你的记事本已经打开了,只是你看不见而已,你看下进程里面是不是已经有notepad的进程了,WIN7中因为服务进程是运行在session0下面的~~第一个登录的用户session为1

winexec 和 shellexecute 都不行。都只是在进程里面创建 界面上跳不出来

--------------------------------------------------------------------------------

感谢各位的热心帮助
问题已经解决

一个比较简单的方法:

1.WTSGetActiveConsoleSessionId
2.WTSQueryUserToken
3.CreateProcessAsUser
  
三步就能实现目标
但是如果第三步使用CreateProcessWithToken创建进程只能改变用户名不能改变session id

那个楼主已经做成功了试试吧,其实关键之处就是得到当前登录用户的Token令牌,然后CreateProcessAsUser用此令牌,创建一个属于此会话下面的进程

--------------------------------------------------------------------------------

谢谢楼上  代码研究出来了。 但是程序总是会在服务桌面里面开起来 不会在当前用户桌面上启动 白搭了。。
有没办法让他弄到当前桌面上来? 请指教

procedure TForm1.Button5Click(Sender: TObject);
var
  hToken:thandle;
  ph:thandle;
  si:STARTUPINFO;
  pi:PROCESS_INFORMATION;
begin
  ph:=openprocess(PROCESS_ALL_ACCESS ,
                   false,
                   GetCurrentProcessID());
  if ph<=0 then exit;
  openprocesstoken( ph,TOKEN_ALL_ACCESS,hToken); //去当前进程Token等同于取当前帐户Token
  try
    ZeroMemory( @si, sizeof( STARTUPINFO ) );
    si.cb := sizeof( STARTUPINFO );
    Si.lpDesktop := PChar('Winsta0\Default');
    si.wShowWindow:=SW_SHOWNORMAL;
    CreateProcessAsUser(hToken,pchar(cmd) , pchar(para),  nil,nil,FALSE,
                    Create_DEFAULT_ERROR_MODE,//NORMAL_PRIORITY_CLASS or Create_NEW_CONSOLE,
                     nil,nil,si,pi );

finally
    closehandle(ph);
  end;
end;

http://bbs.csdn.net/topics/390249745

WIN7中因为服务进程是运行在session0下面的~~第一个登录的用户session为1(WTSGetActiveConsoleSessionId取得session的Id,OpenProcessToken取得进程的令牌)的更多相关文章

  1. win7中配置eclipse连接Ubuntu内的hadoop

    Hadoop java 分布式 云计算 数据库 目录[-] 1.设置Ubuntu静态IP: 1)配置网卡参数到interfaces文件: 2)重启网卡: 2.配置Ubuntu的hosts: 3.配置V ...

  2. win7中 SQL server 2005无法连接到服务器,错误码:18456

    win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆  结果登陆不上去.. 选中SQL Server Management Stud ...

  3. 调整Win7中TCP/IP半开连接数限制

    调整Win7中TCP/IP半开连接数限制      相信大家都有过这样的经历,普通的ADSL宽带下,打开下载工具下载资源时,再想浏览网页就会变得非常困难了,Windows7中也未能幸免.   究其原因 ...

  4. Windows PE3.0制作方法(从Win7中提取制作)

    Windows PE3.0制作方法(从Win7中提取制作 在d:新建文件夹winpe,在winpe中新建sources.pe3和new文件夹,把附件中提供的工具imagex连文件夹一起放到winpe目 ...

  5. 在Win7中安装程序集到GAC

    原文:在Win7中安装程序集到GAC 微软为提高系统安全,自Vista推出后,在Windows系统中加入了一个新的东东——UAC(User Account Control),这样一个新的技术使得许多操 ...

  6. node中创建服务进程

    背景 在node工程部署中,常常涉及到三方:本地客户端.跳板机和服务器(集群).在通过git触发gitlab hook脚本后,需要在跳板机中执行相应的ssh命令执行shell文件启动node服务器,这 ...

  7. win7 cmd终端连接android手机运行adb shell脚本命令

    win7 cmd终端连接android手机运行adb shell脚本命令 (2013-03-22 20:13:57) 转载▼ 标签: android it shell 连接 linux 分类: 嵌入式 ...

  8. [转]教你修复win7中复制粘贴失效的问题

    教你修复win7中复制粘贴失效的问题 发布时间:2018-01-17             使用win7系统的时候,我们经常需要对立面的内容进行复制粘贴来引用一些网站的内容,不过最近有网友在使用这个 ...

  9. WIN7中 HttpListener 拒绝访问 异常解决 C#

      WIN7中 HttpListener 拒绝访问 异常解决 C# http://www.cnblogs.com/cmdszh/archive/2012/08/16/httplistener.html ...

随机推荐

  1. 浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题

    以下是对php中fwrite写入txt文件的时候用 \r\n不能换行的问题进行了介绍,需要的朋友可以过来参考下今天遇到了一个问题就是用fwrite写入txt文件的时候用 rn不能换行试了很久都没找到办 ...

  2. 简单的Datatable转List,Json

    这里用到了Newtonsoft.Json,下载地址:http://json.codeplex.com/ 1.根据不同的Model转为对应的List public static List<Mode ...

  3. 【转载】Powershell获取世纪互联Office365中所有用户的OWA时区

    get-mailbox -resultsize unlimited | Get-MailboxRegionalConfiguration | select Identity,TimeZone | wh ...

  4. html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架

    简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下 ...

  5. Struts 2简单配置分析

    要配置Struts 2,首先先要有Struts 2的Jar包,可以去Struts的官网下载(http://struts.apache.org/),这里有3个GA版本可以选择下载,我选择的是最新的2.2 ...

  6. IP地址格式控制

    /// <summary> /// 验证IP格式是否输入正确 /// </summary> /// <param name="ip"></ ...

  7. Query classification; understanding user intent

    http://vervedevelopments.com/Blog/query-classification-understanding-user-intent.html What exactly i ...

  8. C#: Create a WebRequest with HTTP Basic Authentication

    http://blog.csdn.net/huangyaoshifog/article/details/4470675 myReq = WebRequest.Create(url); string u ...

  9. 【Leetcode】 - Single Number II

    Problem Discription: Suppose the array A has n items in which all of the numbers apear 3 times excep ...

  10. Apache Spark探秘:三种分布式部署方式比较

    转自:链接地址: http://dongxicheng.org/framework-on-yarn/apache-spark-comparing-three-deploying-ways/     目 ...