Managed空间

彭刚的blog
随笔 - 26, 评论 - 153, 引用 - 81

导航

标签

每月存档

最新留言

广告

 

只有在STA线程上ShellExecute 才能确保工作无误。在Process的实现中,并没有考虑到这个问题,所以使用Process类运行ShellExecute可能会出错。如果你不能保证调用Process.Start的线程的ApartmentState,可以使用如下的代码来避免这个问题:

 

using System;

using System.Threading;

public class Foo {

    public static void OpenUrl()    {

        System.Diagnostics.Process.Start(@"http://www.google.com");

    }

 

    public static void Main() {

        ThreadStart openUrlDelegate = new ThreadStart(Foo.OpenUrl);

        Thread myThread = new Thread(openUrlDelegate);

        myThread.SetApartmentState(ApartmentState.STA);   

        myThread.Start();

        myThread.Join();

    }

}

打印 | 张贴于 2004-08-14 12:13:00 | Tag:暂无标签

留言反馈

#回复: 使用Process类运行ShellExecute的一个问题 编辑
good.it is very good
2007-05-19 16:20:00 | [匿名:qixf]
#回复: 使用Process类运行ShellExecute的一个问题 编辑
good
2007-05-19 16:19:00 | [匿名:qixf]
#re:使用Process类运行ShellExecute的一个问题 编辑
使用Process类运行ShellExecute的一个问题ooeess
2005-06-16 13:47:00 | [匿名:气味检测仪]
#re:使用Process类运行ShellExecute的一个问题 编辑
使用Process类运行ShellExecute的一个问题ooeess
2005-06-16 13:45:00 | [匿名:测汞]
#re:使用Process类运行ShellExecute的一个问题 编辑
^_~,pretty good!csharpsseeoo
2005-05-18 19:36:00 | [匿名:超声波流量计]
#re:使用Process类运行ShellExecute的一个问题 编辑
^_^,Pretty Good!
2005-04-16 05:34:00 | [匿名:NKS压力表]
#re:使用Process类运行ShellExecute的一个问题 编辑
^_^,Pretty Good!
2005-04-10 20:11:00 | [匿名:螺纹塞规]
#re: 使用Process类运行ShellExecute的一个问题 编辑
太感谢这一帖了。
我以前做Setup文件的时候,在里面用这个总是出错。
看来就是这个问题了。
2004-08-14 18:38:00 | [匿名:Lostinet]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0