我需要發送System.Windows.Forms.Keys
枚舉方法SendKeys.Send(string keys)
。System.Windows.Forms.Keys作爲SendKeys.Send的參數
如何將Keys
枚舉轉換爲與此方法兼容的字符串?
我可以做switch
和嘗試,如果關鍵是不相容的關鍵之一,是這樣的:
string toSend = "";
switch(keys)
{
case Keys.Backspace:
toSend = "{BS}"
break;
case Keys.F2:
toSend = "{F2}"
break;
// ...
default:
toSend = keys.ToString();
break;
}
SendKeys.Send(toSend);
但我想知道,如果有更好的方式來做到這一點。
感謝您的幫助。
SendKeys是VB6的遺產。例如,從一個非常不同的時間開始,不支持Windows密鑰。它在1998年還不存在。Pinvoke SendInput()可以像SendKeys那樣做你想做的事情。許多Google點擊。 –
@HansPassant好吧,我會嘗試谷歌更多... – Sorashi