gpt4 book ai didi

c# - keybd_event() 和 SendKeys.SendWait() 有区别吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:51 25 4
gpt4 key购买 nike

SendKeys.SendWait() 只是一个包装器,这两个代码片段是相同的吗?

const int VK_ESCAPE = 0x1B;
keybd_event(VK_ESCAPE, 0, 0, 0);
keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0);

System.Windows.Forms.SendKeys.SendWait("{ESC}");

如果不是,是否有理由使用一个而不是另一个?

最佳答案

keybd_event() 是一个遗留的 API,你现在应该使用 SendInput()。 SendKeys 使用日志 Hook 或 SendInput,具体取决于 .config 文件设置。日志 Hook 是遗留的并且仍然是默认设置,SendInput 在 Vista 及更高版本上工作得更好,自 .NET 3 以来可用。所以,大致上,是的,它们是相同的。配置设置为:

<appSettings> 
<add key="SendKeys" value="SendInput"/>
</appSettings>

关于c# - keybd_event() 和 SendKeys.SendWait() 有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com