现在已经有了一个程序 名字叫cmd.exe 可以正常运行我希望能再弄个程序叫a.exe 达到要求如下:
1、此程序需要包含cmd.exe
2、此程序包含一个按钮  点击ONCLICK按钮 
3、执行cmd.exe 
应该在VS2008 C#的编程环境中如何实现现在已经用到的方法是
使用WinExec(@"cmd.exe",6); 然后将CMD.EXE添加现有项目,CMD.EXE属性中 选择复制 选择嵌入的内容 系统就每次生成文件的时候会复制一个CMD.EXE到 与此a.exe在同一级目录 点击按钮  CMD.exe就可以打开  但是CMD.EXE现有项属性中 选择不复制 选择嵌入的内容 应用程序倒是大小变大了 我确定此应用程序中已经包含了CMD.EXE  可以点击按钮打不开了 有什么办法可以不让他复制 点击按钮就可以打开CMD.EXE 也就是我不希望出现CMD.EXE这个文件在计算机中。

解决方案 »

  1.   

    你可以吧cmd.exe当作资源文件,每次执行的时候把资源复制到磁盘上的临时目录里。
    不用WinExec也行,用Process.Start不过你为什么要这么做呢?
      

  2.   

    你是要运行批处理文件?那为何不写一个Bat文件,到时执行一下?
      

  3.   

    不是 我是现在有一个EXE的文件 CMD.EXE只是举例 老板要求我 把这个EXE的文件 不要单独显示出来 把他包含在我们公司自己的应用程序中  通过点击我们自己应用程序中的一个BOTTON按钮 来运行  请问有什么好办法没有
      

  4.   

    wangyong0921 大虾 能否给我个源码参考一下呢 
      

  5.   

    Process p = new Process();
    p.startInfo.FileName = "cmd.exe";
    p.Start();
      

  6.   

    我再说一下我的问题哈 这个CMD.EXE是我通过添加现有项 添加到工程中的CMD.EXE属性中 选择复制 选择嵌入的内容  直接输入CMD.EXE无法找到路径 必须输入d:\\debug\\CMD.EXE 才能打开 (CMD.EXE就在这个目录下) 我想知道FileName = "cmd.exe"; 如何输入相对路径
      

  7.   

    写个BAT文件,然后把CMD命令封装在里面,还有就是如果机器上安装有360之类的安全软件,执行CMD命令时会默认为未知非法程序,有可能会过滤掉
      

  8.   

    没有关系 用这个软件的电脑不连接互联网 所以不装杀软的 请问BAT文件应该如何写 C#中应该如何调用 谢谢指点明路
      

  9.   

    我顶,来个高手呗 C# 里面如何调用项目资源里面的EXE文件啊???????项目资源里的相对路径如何确定?
      

  10.   

    路径=my.application.startuppath + "\"
      

  11.   

    楼上的朋友 你这个貌似是应用程序所在路径吧 不是EXE资源的路径 
    我想问的是 C# 里面如何打开嵌入项目资源里面的EXE文件啊
      

  12.   

    换一个思路  
    namespace WindowsFormsApplication1
    将1.EXE嵌入到项目中
    请问如何实现 点击BOTTON按钮 将1.EXE释放到 系统TEMP或其他指定文件夹
    请给出private void button1_Click(object sender, EventArgs e)  {
    代码  }谢谢高手们
      

  13.   


    using   System.Diagnostics; //需要添加这行引用,关于线程的private void button1_Click(object sender, EventArgs e)
    {
        string path = @"C:\Program Files\Tencent\QQ\QQ.exe";//这个path就是你要调用的exe程序的绝对路径
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.FileName = "qq.exe";
        process.StartInfo.WorkingDirectory = path;
        process.StartInfo.CreateNoWindow =true ;
        process.Start();
        if (process.HasExited)
        {
           MessageBox.Show("complete");
        }