C#中Process调用devenv问题(急)

XPR 2010-08-17 03:49:03
C#开发的vs2008Addin程序,在IDE中嵌入了一个窗体,窗体中只是TreeView, TreeView中列出了一些非解决方案中的代码文件,双击TreeView中的代码文件节点需要在当前的IDE环境中打开
遇到的问题是:
1.通过EnvDTE中的Documents.Open方法时报异常,不能顺利的在当前的VS2008 IDE中打开新的编辑标签
2.改用Process.Start()方法尝试,能在当前的IDE中新的编辑标签中打开代码文件,但有时会出现另一个IDE进程(也就是说,在通过Process.Start方法时不能保证只有当前的IDE),下面是调用代码
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = "devenv";
psi.Arguments = data.FullName + " /edit "; //edit是devenv的开关参数
psi.UseShellExecute = false;

System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess();
p.StartInfo = psi;
p.Start();

问题就是:怎么才能保证在当前的Viusal Studio IDE中打开新的编辑标签,而不是启动另一个新的IDE进程来打开?
先多谢大家了
...全文
222 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
XPR 2010-08-18
  • 打赏
  • 举报
回复
大家进来帮我看一下呀
XPR 2010-08-17
  • 打赏
  • 举报
回复
着急呀,想不到好方法,睡前再顶一下
XPR 2010-08-17
  • 打赏
  • 举报
回复
大家有没有好的建议?

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧