日期:2014-05-17  浏览次数:20895 次

win7下CreateProcess将进程创建在另外一个桌面失败
场景:我想使用IE控件来开启一个进程,让其运行在同一个账号的另外一个desktop下,使用CreateProcess来创建,CreateProcess(
  LPCWSTR pszImageName,
  LPCWSTR pszCmdLine,
  LPSECURITY_ATTRIBUTES psaProcess,
  LPSECURITY_ATTRIBUTES psaThread,
  BOOL fInheritHandles,
  DWORD fdwCreate,
  LPVOID pvEnvironment,
  LPWSTR pszCurDir,
  LPSTARTUPINFOW psiStartInfo,
  LPPROCESS_INFORMATION pProcInfo
);
psiStartInfo.lpDesktop设置为另一个桌面,可是在执行的时候XP下是能在另外一个桌面看到该进程的托盘,但是在win7下面却看不到,并且该进程还是在原来的桌面存在着。
注:我使用管理员权限来运行IE控件,发现可以将该进程创建在另外一个桌面内,托盘显示在另外一个桌面内
问题:为什么在win7下必须使用管理员权限才能将这个进程创建在另一个桌面,而不能直接创建呢,我得到的错误返回值是0,表明创建正常,然后我就茫然了。希望各位大拿们能够给支个招,在此谢过了!