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实现链式操作的原理

    在一个类中有多个方法,当你实例化这个类,并调用方法时只能一个一个调用,类似: db.php <?php class db{ public function where() { //code he ...

  2. PHP 网站保存快捷方式的实现代码

    介绍下使用PHP实现网站快捷方式的保存方法. PHP怎么实现网站保存快捷方式呢?下面是一段PHP代码,下面这段代码,可以PHP实现网站保存快捷方式,以便用户随时浏览.  <?php  /** * ...

  3. WCF全面解析第二章 地址(Adress)

    2.1 统一资源标识(URL) 2.1.1 Http/Https 2.1.2 Net.TCP 2.1.3 Net.Pipe WCF只将命名管道专门用于同一台机器的跨进程通信. 2.1.4 Net.Ms ...

  4. 用户登录密码RSA加密后传输的实现,非明文密码传输

    在用户登录页面,用户输入密码后,在传送到服务器端时,为防止在密码传送过程中,被如360这种东东给拦截到, 需要在传送前对密码进行加密,然后再传送! 利用RSA加密,在客户端使用公钥对密码进行加密,在服 ...

  5. android控件之EditText

    EditText继承关系:View-->TextView-->EditTextEditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设 ...

  6. MVC学习系列——ActionResult扩展

    首先,MVC扩展性非常强. 我从ActionResult扩展入手,因为我们知道微软ActionResult和其子类,有时候并不能满足所有返回值. 比如:我需要返回XML. 因此,现在我扩展XMLRes ...

  7. C++实现数字媒体二维图像变换

    C++实现数字媒体二维图像变换 必备环境 glut.h 头文件 glut32.lib 对象文件库 glut32.dll 动态连接库 程序说明 C++实现了用glut画正方形,画三角形的功能.并附带放大 ...

  8. Android bluetooth low energy (ble) writeCharacteristic delay callback

    I am implementing a application on Android using BLE Api (SDK 18), and I have a issue that the trans ...

  9. 2436: [Noi2011]Noi嘉年华 - BZOJ

    Description NOI2011 在吉林大学开始啦!为了迎接来自全国各地最优秀的信息学选手,吉林大学决定举办两场盛大的 NOI 嘉年华活动,分在两个不同的地点举办.每个嘉年华可能包含很多个活动, ...

  10. ./configure --prefix=

    一直用这个选项prefix=,但不知道,啥意思. 转载自:----------------------------------------------------------------------- ...