程序A通过键盘组合按键运行并显示。现在我想在我的程序里写个按钮,呼出这个程序A。要如何实现??

解决方案 »

  1.   

    确定(&O) 或者在  KeyDown 事件下判断
      

  2.   

    text属性里,也就是这个按钮的显示名字的位置 Text=按钮(&B) 那个就是快捷键了- - 当然可以自己改别的
      

  3.   

    KeyDown事件里做判断按下哪个键了
      

  4.   

    如果是英文的 还是那个属性里,例如: &cancel 这样c就是快捷键了。
      

  5.   

    各位可能误会了,我不是要获取按键例如:
    程序A使用CTRL+T就可在系统中运行并显示我程序中的按钮就是要实现CTRL+T的功能,让程序A在系统中运行运行并显示也就是说,当我按下按钮,程序A就能在系统中运行,并显示
      

  6.   

    你想实现程序内有效的快捷键还是操作系统内有效的快捷键?
    前者注册IMessageFilter后者使用Api:RegisterHotKey
    你确认哪种先。
      

  7.   

    在OnKeyDown事件里面去设置
    例:
    if (e.KeyCode == Keys.G)
    {
       Form1 form1=new Form1;
       form1.show();
    }
      

  8.   

    用钩子可以实现
    http://blog.csdn.net/wangwenzhuang/archive/2010/09/29/5913695.aspx
      

  9.   

    我懂你的 比如我快捷键呼出QQ 是吧  我以前也想做这个东西了类似游戏喊话的东西  但是我没做出来   顶你..
    学习ing 
      

  10.   

    http://blog.csdn.net/cryeyes/archive/2007/04/09/1557723.aspx
      

  11.   

     wuyazhe我看了你的那个地址的内容,但它只是获取快捷键后自己写实现内容我这个应该是实现另一个程序的快捷键内容例如:
    程序A使用CTRL+T就可在系统中运行并显示我程序中的按钮就是要实现CTRL+T的功能,让程序A在系统中运行运行并显示也就是说,当我按下按钮,程序A就能在系统中运行,并显示
      

  12.   

    自己概念要理清楚先
    程序A使用CTRL+T就可在系统中运行并显示
    A是被启动的。被谁启动?那你就要给启动A的程序注册快捷键。如果是凭空的没任何程序干涉的,你直接给A创建快捷方式,在快捷方式属性的第二个标签页设置快捷键就可以了。这个是给系统注册快捷键,系统检测到快捷键就会启动程序。
    我程序中的按钮就是要实现CTRL+T的功能,让程序A在系统中运行运行并显示
    就是给你的文章介绍的,你捕获到了快捷键,执行Process.Start("A程序.exe")不就行了?自己想法理顺先。
      

  13.   

    不好意思。。这里是我没有说清楚A程序已经注册了快捷键,也就是,即使没有我的程序,使用快捷键(CTRL+T)也可以被呼出
    A程序是独立程序,如果双击A程序.exe,它是会运行,但是不会显示,
    只有使用快捷键,才能让它显示出来。Process.Start("A程序.exe")
    这个方法我已经尝试过,这样只能让程序运行,而不能显示在界面上。我的程序功能主要是让它显示在界面上。
      

  14.   

    [email protected] 是我的邮箱 需要的好个暗号
      

  15.   

    搜索keybd_event
    用来模拟键盘输入的。
      

  16.   

    若要验证在同一时间中按下 ALT 键和 F 键,请按照下列步骤操作: 
    打开 Visual Studio.net。
    创建一个新 Visual C# Windows 应用程序项目。
    添加到窗体的文本框。
    该形式键入下面的代码:private void Form1_Load(object sender, System.EventArgs e)
    {
    // Set these when the form loads:
    // Have the form capture keyboard events first.
    this.KeyPreview = true;
    // Assign the event handler to the form.
    this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
    // Assign the event handler to the text box.
    this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown);
    }
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.Alt && e.KeyCode.ToString() == "F")
    {
    // When the user presses both the 'Alt' key and 'F' key,
    // KeyPreview is set to False, and a message appears.
    // This message is only displayed when KeyPreview is set to True.
    this.KeyPreview = false;
    MessageBox.Show("KeyPreview is True, and this is from the FORM.");

    }
    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.Alt && e.KeyCode.ToString() == "F")
    {
    // When the user presses both the 'Alt' key and 'F' key,
    // KeyPreview is set to False, and a message appears.
    // This message is only displayed when KeyPreview is set to False.
    this.KeyPreview = true;
    MessageBox.Show("KeyPreview is False, and this is from the CONTROL.");
    }
    }
      

  17.   

    可以考虑用Windows快捷键注册API
    [DllImport("user32.dll")]
    private static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc);[DllImport("user32.dll")]
     private static extern bool UnregisterHotKey(IntPtr hWnd, int id);