在WIN7下通过在IIS中发布WebService,其中用到了cjwdev.windowsapi.dll的APP_Start(),然后调用本地应用程式,可以成功调用并显示界面,但部署到服务器上时,可以看到进程,却不能显示界面,和未使用cjwdev.windowsapi.dll在本地测试的情况一样,这是因为SERVER下权限管控更严了吗?导致cjwdev.windowsapi.dll失效了?有哪位大拿可以指点一下吗?public void AppStart(string appPath, string arg)
        {
            try
            {                string appStartPath = appPath;
                IntPtr userTokenHandle = IntPtr.Zero;
                ApiDefinitions.WTSQueryUserToken(ApiDefinitions.WTSGetActiveConsoleSessionId(), ref userTokenHandle);                Cjwdev.WindowsApi.ApiDefinitions.PROCESS_INFORMATION procInfo = new ApiDefinitions.PROCESS_INFORMATION();
                ApiDefinitions.STARTUPINFO startInfo = new ApiDefinitions.STARTUPINFO();
                startInfo.cb = (uint)Marshal.SizeOf(startInfo);                               ApiDefinitions.CreateProcessAsUser(
                    userTokenHandle,
                    appStartPath,
                    arg,
                    IntPtr.Zero,
                    IntPtr.Zero,
                    false,
                    0,
                    IntPtr.Zero,
                    null,
                    ref startInfo,
                    out procInfo);                if (userTokenHandle != IntPtr.Zero)
                    ApiDefinitions.CloseHandle(userTokenHandle);                int _currentAquariusProcessId = (int)procInfo.dwProcessId;                
            }
            catch (Exception ex)
            {            }
        }

解决方案 »

  1.   

    大家都没遇到过吗?现在测试发现在64位WIN7下也不能正常调用,在32位WIN7下可以
      

  2.   

    那个东西只对8将近10年前的xp系统有用吧?从windows7开始,windows 的安全机制基础就已经升级了。
      

  3.   

    微软在 2009 年发布了 windows2008r2 版本,现在的安全稳定的服务器起码在这个基础上。而不是在 windows 2008 系统上。
      

  4.   

    windows 2008 是对应着 xp 技术,而 windows 2008 r2 是对应着 windows7 技术架构的。这种差别,这是现在 windows 服务器架构最低要求。