给为大虾好:
     我一C#菜鸟,请教2个问题:
 一:我在写一个记事本,有个功能是点击一个BUTTON控件调用WINDOWS的【运行】命令,那么怎么实现这个操作链接呢?
 二:还有一个是当我点击一个BUTTON时候,我要把他和一个应用程序相连接,点击BUTTON的时候,相对应的应用程序就启动,那么怎么实现这个功能呢?
  
   祝愿各位男大虾们,女大虾们 中秋节快乐!
   小弟在这里感激不尽!
  在线等,恩,也寻找真心的程序员老师或者朋友,我对编程很疯狂的热爱.....
 

解决方案 »

  1.   

    两个问题都是使用 process 类来实现的,看一下MSDN吧
    Process.Start("cmd");
      

  2.   

    开始-》运行 实际上是搜索环境变量的path中的所有目录下是否存在所输入的文件名所对应的可执行文件 然后运行 你可以读取环境变量的path然后foreach判断是否存在再运行 实现同样的功能
    第二个可以用Process.Start()
      

  3.   

            using System.Runtime.InteropServices;        const byte VK_LWIN = (VK_R)Keys.LWin;
            const byte VK_R = (byte)Keys.R;
            const int KEYEVENTF_KEYUP = 0x02;        [DllImport("user32")]
            public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);   
            private void button1_Click(object sender, EventArgs e)
            {
                keybd_event(VK_LWIN, 0, 0, 0);
                keybd_event(VK_R, 0, 0, 0);
                keybd_event(VK_R, 0, KEYEVENTF_KEYUP, 0);
                keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);   
     
            }
      

  4.   

    第2个问题太简单了,就不说了
    第1个比较复杂,目前我发现3种解决办法1.如3楼,模拟Windows+R键(有点剑走偏锋的感觉)2.在shell32.dll中有个未公开API函数,序号大概是61(记不太清楚了,又好像是59),这个函数参数很多,可以进行细节控制,例如图标,按钮数等等3.在shell32.dll中有个COM函数,大概是在Shell32命名空间中的ShellClass这个类,是个实例方法,方法名好像是FileRun(记不清了,这个类里面大概有20个方法,你查一下)