win2003服务器服务正在运行,Window服务启动外部exe程序 在Server 2003,2008 启动不了,Windows7可以...

本来在Windows 7 上面不行,后面在网站查了资料,说Windows7把那个功能禁用了,后面解决后,放到服务器上就启动不了,但是在Windows7上可以。

服务里面的属性 设置 界面交互式   设置过了,没有效果。

Windows服务代码:

// Onstart 方法里面的全部代码    这段代码 就是可以Window7 上启动外部程序的代码,放入服务器就不行了(2003,2008)

try             {

appStartPath = @"D:\source\166\课程中心3.0\Tools\ACCService\ACCService\ACCService\bin\Debug\ACCService.exe";  //外部程序路径               IntPtr userTokenHandle = IntPtr.Zero;                 ApiDefinitions.WTSQueryUserToken(ApiDefinitions.WTSGetActiveConsoleSessionId(), ref userTokenHandle);

ApiDefinitions.PROCESS_INFORMATION procInfo = new ApiDefinitions.PROCESS_INFORMATION();                 ApiDefinitions.STARTUPINFO startInfo = new ApiDefinitions.STARTUPINFO();                 startInfo.cb = (uint)Marshal.SizeOf(startInfo);

ApiDefinitions.CreateProcessAsUser(                     userTokenHandle,                     appStartPath,                     "",                     IntPtr.Zero,                     IntPtr.Zero,                     false,                     0,                     IntPtr.Zero,                     null,                     ref startInfo,                     out procInfo);

if (userTokenHandle != IntPtr.Zero)                     ApiDefinitions.CloseHandle(userTokenHandle);

_currentAquariusProcessId = (int)procInfo.dwProcessId;             }             catch (Exception ex)             {                // MessageBox.Show(string.Format("Start Application failed, its path is {0} ,exception: {1}", appStartPath, ex.Message));             }         }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值