比如我现在用VS2005打开了一个工程1,我可以按F5运行工程1。我现在需要实现的是再开一个VS2005建一个工程2,在工程2中写程序来完成刚才的动作(运行工程1).
   以下方法就不好说了:1.模拟键盘的F5  (邪门歪道)
                      2.用Process.Start(工程1.exe) 我要启动的不是“工程1.exe”,而是启动打开了工程1的VS2005

解决方案 »

  1.   

     这个还不好办 你那个工程不少有个文件名莫 System.Diagnostics.Process.start("工程1.sln")
    或者
     System.Diagnostics.Process.start("工程1.csproj")

      

  2.   

    可以做, 
    ProcessStartInfo startInfo = new ProcessStartInfo("机子上vs2005的exe地址");
                startInfo.WindowStyle = ProcessWindowStyle.Minimized;                       startInfo.Arguments = "要打开的项目sln地址";
                            
                Process p=Process.Start(startInfo);我做过,并且我又试验了一次,绝对可以
      

  3.   

    那你应该是执行了那个文件的EXE咯
      

  4.   

    你也没有理解我的意思,按F5运行 和直接执行 EXE 是有区别的,直接执行exe 就不能设断点进行调试
      

  5.   

    你可以在msdn里找一下vs插件的开发  msdn search dte
      

  6.   

    在工程1通过process运行程序2,传递参数执行操作也在调试状态
      

  7.   

    你是说 在工程1通过process运行程序2的exe吗,还是怎样
      

  8.   

    反射调用,或SetParent调用程序。
      

  9.   

    vs插件的开发 可以试一下,看看能不能行,
    另外,好像vs有部分代码是可以下载的,研究一下看行不行。如果只是想达到你说的效果,可以用按键精灵的原理来实现,一点想法,不知道你倒底想做什么。
      

  10.   

    我好象看明白了,给你们解释一下.LZ的意思是说,自己写一个程序捕获当前已经打开的vs2005工程,并且利用程序实现运行这个工程(F5功能).
    正常来说不应该存在这种需求.
    正常思路是捕获窗口句柄得到打开窗体的F5功能按钮,然后发消息,不过lz好象已经否决了这个思路.
    如果不这么做只能调用VS2005自带的一些EXE或者BAT了,这个只能算是奇淫技巧,只要知道是哪个exe在程序里调用一下就可以了.
      

  11.   

    反正我也是菜鸟。看到这个文章不觉得LZ水平差。只觉得LZ脾气不小。