现在的位置: 首页 > web前端 > 正文

createprocessasuser服务调用

2020年07月16日 web前端 ⁄ 共 1310字 ⁄ 字号 评论关闭

  如果想通过服务向桌面用户Session创建一个复杂UI程序界面,则需要使用CreateProcessAsUser函数为用户创建一个新进程用来运行相应的程序。打开Interop类继续添加下面代码:


  CreateProcessAsUser函数原型


  BOOLWINAPICreateProcessAsUser(


  _In_opt_HANDLEhToken,


  _In_opt_LPCTSTRlpApplicationName,


  _Inout_opt_LPTSTRlpCommandLine,


  _In_opt_LPSECURITY_ATTRIBUTESlpProcessAttributes,


  _In_opt_LPSECURITY_ATTRIBUTESlpThreadAttributes,


  _In_BOOLbInheritHandles,


  _In_DWORDdwCreationFlags,


  _In_opt_LPVOIDlpEnvironment,


  _In_opt_LPCTSTRlpCurrentDirectory,


  _In_LPSTARTUPINFOlpStartupInfo,


  _Out_LPPROCESS_INFORMATIONlpProcessInformation


  );


  使用CreateProcessAsUser的范例代码


  --------CreateProcessEx.h文件--------


  #ifndef_CREATE_PROCESS_EX_H_


  #define_CREATE_PROCESS_EX_H_


  #include<windows.h>


  #include"tchar.h"


  #pragmacomment(lib,"shell32")


  #pragmacomment(lib,"user32")


  #pragmacomment(lib,"Advapi32.lib")


  //以普通权限启动进程


  BOOLCreateProcessLow(TCHAR*lpApplicationName,


  TCHAR*lpCommandLine=NULL,


  TCHAR*lpDirectory=NULL,


  UINTnShow=SW_SHOWNORMAL);


  //以管理员权限启动进程


  BOOLCreateProcessHigh(TCHAR*strProcessName,


  TCHAR*strCommandLine=NULL,


  TCHAR*lpDirectory=NULL,


  UINTnShow=SW_SHOWNORMAL);


  #endif//_CREATE_PROCESS_EX_H_


  --------CreateProcessEx.h文件--------


  --------CreateProcessEx.cpp文件--------


  #include"CreateProcessEx.h"


  #include<string>


  usingnamespacestd;


  总之,CreateProcessAsUser给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.