一、进程
进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。
它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
Process 类,用来操作进程。
命名空间:using System.Diagnostics;
Process.Start("calc"); //打开计算器
Process.Start("mspaint"); //打开画图
Process.Start("iexplore" , "http://www.baidu.com"); //打开浏览器并指定地址
(一)通过一个进程,打开指定的文件:
1.创建进程对象
Process p = new Process();
2.创建一个StartInfo对象,是指定带盘符的路径。
ProcessStartInfo psi = new ProcessStartInfo(@"C:user.....);
3.进程指定及开始
p.StartInfo = psi; //指定路径 p.Start(); //开始进程
(二)通过文件选择框让用户自己选择所需要打开的程序并打开:
private void button1_Click(object sender, EventArgs e)
{
//这是选择文件的类型
openFileDialog1.Filter = "应用程序|*.exe";
//显示对话框并且判断用户有没有选中文件
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//取文件路径
string path = openFileDialog1.FileName;
//创建一个新的进程
Process p = new Process();
//制造进程的启动信息
ProcessStartInfo psf = new ProcessStartInfo(path);
//设置该进程的执行信息
p.StartInfo = psf;
//启动进程
p.Start();
}
}
例子:注销
//这个path就是你要调用的exe程序的绝对路径
string path = Application.StartupPath;
//获取自身exe或dll的文件名路径
string s = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;
private void button2_Click(object sender, EventArgs e)
{
//打开该程序
//取该程序文件的路径
//string path = Application.StartupPath;
string path = System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName;
//造一个进程
Process p = new Process();
//造一个进程的启动信息
ProcessStartInfo ps = new ProcessStartInfo(path);
//设置进程启动信息
p.StartInfo = ps;
//启动进程
p.Start();
//关闭程序
this.Close();
}
例:窗口实现鼠标拖动
private int x;
private int y;
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
//鼠标点击时的XY坐标
x = e.X;
y = e.Y;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
//判断鼠标按下的是左键
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
//边距=当前的距离+移动的距离
this.Left = this.Left+(e.X - x);
this.Top = this.Top +(e.Y - y);
}
}
二、线程
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。








