日期:2014-05-18  浏览次数:21091 次

C#能不能实现发送ctrl+s这样的组合键盘命令
做一个程序,目的是获取键盘的操作然后再自动发送ctrl+s命令即保存
假如当前是word应用程序,我运行C#的应用程序则word就会执行了ctrl+s命令
谢谢大家

------解决方案--------------------
用win32的API
------解决方案--------------------
貌似在KEYPRESS的参数E的KEYCODE还是KEYVALUE属性可以区分出来吧
------解决方案--------------------
可以,但是我忘了是怎么弄的了,你可以找找看

帮你顶着
------解决方案--------------------
实现Ctrl+S保存:
在keydown事件中,ctrl捕捉后再预定捕捉S键事件:
例子(ArcGIS中的,winform程序差不多)
/// <summary>
/// 保存当前编辑Ctrl+S
/// </summary>
/// <param name="e"></param>
public void SaveEdit(IMapControlEvents2_OnKeyDownEvent e)
{
if (e.keyCode == (int)Keys.ControlKey)
{
m_App.MainMapControl.OnKeyDown +=
new IMapControlEvents2_Ax_OnKeyDownEventHandler(ForCtrlAndS_OnKeyDown);
}
}

private void ForCtrlAndS_OnKeyDown(object sender, IMapControlEvents2_OnKeyDownEvent e)
{
if (e.keyCode == (int)Keys.S)
m_App.SaveEdit();
}