日期:2014-05-17  浏览次数:21090 次

C#winform里如何用代码打开系统的“运行”窗口?
我想设计一个自己的进程管理器,在菜单里添加常用的工具,但是添加“运行”时,怎么也不成功,我在windows的system32文件夹下也没找到“运行”的exe文件,当再开始菜单的搜索框里输入“运行”可以找到“运行”的快捷方式,通过属性也找到了快捷方式所在的位置,但是一直找不到“运行”的可执行文件的位置,在程序中用代码“Process.start("run.lnk");”报异常找不到指定的文件。
请问,如何才能通过代码打开“运行”窗口呢?
方法多多益善,找到“运行”的可执行文件的系统路径或者调用“win+R”打开均可,最好有正确的代码,谢谢。
winform 进程

------解决方案--------------------
楼主可以查查系统api这个东西
------解决方案--------------------
[DllImport("user32.dll")]
        private static extern void keybd_event(byte bVk, byte bScan, long dwFlags, long dwExtraInfo);
        private void button1_Click(object sender, EventArgs e)
        {
            const byte VK_LWIN = 0x5B;
            const byte VK_R = 0x52;
            const byte KEYEVENTF_KEYUP = 0x2;
            const byte KEYEVENTF_EXTENDEDKEY = 0x1;
            keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY, 0);
            keybd_event(VK_R, 0, KEYEVENTF_EXTENDEDKEY, 0);
            keybd_event(VK_R, 0, KEYEVENTF_KEYUP, 0);
            keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);

        }


------解决方案--------------------
添加对Microsoft Shell Controls And Automation(shell32.dll)的引用

添加如下代码:

var shell = new Shell32.Shell();
shell.FileRun();