CreateProcessWithLogonW(好像可以指定进程的上下文环境)
Creates a new process and its primary thread. Then the new process runs the specified executable file in the security context of the specified credentials (user, domain, and password). It can optionally load the user profile for a specified user.
The CreateProcessWithLogonW and CreateProcessWithTokenW functions are similar to the CreateProcessAsUser function, except that the caller does not need to call the LogonUser function to authenticate the user and get a token.
--------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace MainTest
{
class ProcessUserLogonHelper
{
/// <summary>
/// 在Main函数中调用该方法的的示例代码
/// </summary>
private void InvokeExample()
{
ProcessUserLogonHelper phelper = new ProcessUserLogonHelper();
Process pro = phelper.CreateProcessWithUserToken(@"C:\Program Files\Internet Explorer\iexplore.exe", "bestreme.com", "chdwu", "************");
pro.Start();
}
/// <summary>
/// 使用指定帐户绑定进程
/// </summary>
/// <param name="appPath">进程的宿主程序</param>
/// <param name="domain">指定帐户的域名</param>
/// <param name="userName">指定帐户的用户名</param>
/// <param name="password">指定帐户的密码</param>
/// <returns>绑定了特定帐户的进程</returns>
public Process CreateProcessWithUserToken(string appPath,string domain, string userName, string password)
{
Process pro = new Process();
ProcessStartInfo processInfo = new ProcessStartInfo(appPath);
processInfo.UseShellExecute = false;
processInfo.UserName = userName;
processInfo.Domain = domain;
System.Security.SecureString psw = new System.Security.SecureString();
foreach (char c in password.ToCharArray())
{
psw.AppendChar(c);
}
processInfo.Password = psw;
processInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(appPath);
pro.StartInfo = processInfo;
return pro;
}
/// <summary>
/// 使用指定帐户绑定进程
/// </summary>
/// <param name="appPath">进程的宿主程序</param>
/// <param name="userName">指定本地帐户的用户名</param>
/// <param name="password">指定帐户的密码</param>
/// <returns>绑定了特定帐户的进程</returns>
public Process CreateProcessWithUserToken(string appPath, string userName, string password)
{
return CreateProcessWithUserToken(appPath, "", userName, password);
}
}
}
---------------
MainTest.ProcessUserLogonHelper cmd = new MainTest.ProcessUserLogonHelper();
Process p = cmd.CreateProcessWithUserToken("C:\\Program Files\\Internet Explorer\\iexplore.exe",
"administrator", "clq1111");
p.Start();
if (p==null)
{
MessageBox.Show("error");
}
http://www.cnblogs.com/-clq/archive/2012/01/19/2327333.html
CreateProcessWithLogonW(好像可以指定进程的上下文环境)的更多相关文章
- Kubernetes容器上下文环境
目录贴:Kubernetes学习系列 下面我们将主要介绍运行在Kubernetes集群中的容器所能够感知到的上下文环境,以及容器是如何获知这些信息的. 首先,Kubernetes提供了一个能够让容器感 ...
- tensorflow中有向图(计算图、Graph)、上下文环境(Session)和执行流程
计算图(Graph) Tensorflow是基于图(Graph)的计算框架,图的节点由事先定义的运算(操作.Operation)构成,图的各个节点之间由张量(tensor)来链接,Tensorflow ...
- (转)iOS Wow体验 - 第四章 - 为应用的上下文环境而设计
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第四章译文精选,其余章节将陆续放出.上一篇:Wow ...
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8201936 在前文中,我们简要介绍了Andro ...
- SEAndroid安全机制中的进程安全上下文关联分析
前面一篇文章分析了文件安全上下文关联过程.可是在SEAndroid中,除了要给文件关联安全上下文外,还须要给进程关联安全上下文.由于仅仅有当进程和文件都关联安全上下文之后,SEAndroid安全策略才 ...
- Linux-进程描述(2)之进程标识符进程位置与环境变量
在上一篇文章中详细介绍了task_struct结构体内的常见成员,然后我们就来看一下具体内容.每个进程都把它的信息放在 task_struct 这个数据结构中,task_struct 包含了这些内容: ...
- JavaScript 上下文环境和作用域,以及 call、apply 和 bind【转载+翻译+整理】
--看到这篇文章,翻译国外的,虽说写得有点矫情,但总体来看,还是相当不错的- 本文内容 我在哪儿?你又是谁 ? this? 用 apply 和 call 掌控上下文环境 bind 之美 本文将说明上下 ...
- shell脚本杀掉指定进程下所有子进程(包括子进程的子进程)
搜索了网上好像并没有杀掉指定进程下所有子进程(包括子进程的子进程)的脚本,自己琢磨写了一版,虽说比较简单,但希望分享大家,帮助需要的人 #!/bin/sh # 递归找到进程最底层子进程并杀除. mai ...
- 分享自己做的一个指定进程以及线程长时间cpu监控的工具
前言: 前面给大家分享过一个工作中用到的编译拷贝脚本,其实工作中还有一些其他工具的使用,今天再来分享一个自己纯手工的CPU监控的脚本.大家可以结合上篇文章与本篇文章一起学习shell. 主要实现功能: ...
随机推荐
- Android无法更新sdk的解决办法
修改 windows/system32/drivers/etc/hosts 文件 添加 203.208.46.146 dl.google.com203.208.46.146 dl-ssl.google ...
- [AngularJS + Webpack] Production Setup
Using Angular with webpack makes the production build a breeze. Simply alter your webpack configurat ...
- MYSQL 调优系列
http://www.cnblogs.com/digdeep/p/4847484.html
- Java语言基础(二)
Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不 ...
- UIPickView的简单介绍
UIPickView的简单介绍 设置UIPickView的时候,我们主要需要设置一下下面的两个属性 UIPickerView *pickView1; pickView1 = [[UIPickerVie ...
- linux设置语言编码
前段时间在服务器上安装了centos6.2版本,当初安装时语言选择英文.这本来也没有什么问题,直到前一段时间.我的同事发现部署的web项目中出现乱码情况.但中文作为参数进行传递到下一个页面的时候就乱码 ...
- UVA - 11572 Unique Snowflakes
/* STLsort离散化==T 手工sort离散化==T map在线==T map离线处理c==A 240ms */ #include<cstdio> #include<map&g ...
- excel中VBA对多个文件的操作
添加引用 "Scripting.FileSystemObject" (Microsoft Scripting Runtime) '用于操作文件.目录 Sub 数据整理部分() ' ...
- Rouh set 入门知识3(上下近似集,正负域,边界域)
在RS中,引入两个概念:一个是下近似集,另一个是上近似集.下近似集是指当一个集合不能利用有效的等价关系被恰当的分类是时,则可通过另外的集合来达到这个集合的近似.形式上,设X⊆U是任一子集,R是U上的等 ...
- 45种Javascript技巧大全
JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...