首页 新闻 会员 周边

C# 使用keybd_event()函数模拟键盘按键Enter没效果

0
悬赏园豆:50 [已关闭问题] 关闭于 2018-10-15 15:06

刚刚做了一个函数模拟得功能。效果是我点击播放视屏之后就自动通过函数模拟键盘按下Enter键。起到全屏播放效果。 播放器是完美解码器。代码如下。
播放器没能全频播放。调试到按下Enter就卡。键盘打字都打不了。
我没有大佬分析一下。

1定义全局
#region 全局按键
/// <summary>
/// 全局按键
/// </summary>
/// <param name="bVk"></param>
/// <param name="bScan"></param>
/// <param name="dwFlags">0 为按下,2为释放</param>
/// <param name="dwExtraInfo"></param>
[DllImport("user32.dll", EntryPoint = "keybd_event")]
public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
#endregion

2调用模拟
try
{

                        string ww = @"D:\Software\Video\" + ChooseGameName + ".avi.lnk";

                        pr = Process.Start(ww);
                        //移动到第二屏幕                          
                        Thread.Sleep(100);
                        keybd_event(18, 0, 0, 0);//alt
                        Thread.Sleep(50);
                        keybd_event((byte)System.Windows.Forms.Keys.Enter, 0, 0, 0);
                        Thread.Sleep(500);
                        keybd_event((byte)System.Windows.Forms.Keys.Enter, 0, 2, 0);
                        keybd_event(18, 0, 2, 0);
                        //电影播放



                    }
                    catch(Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
菜鸡你n+1号的主页 菜鸡你n+1号 | 初学一级 | 园豆:14
提问于:2018-10-15 10:25

有没有大佬啊

菜鸡你n+1号 5年前
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册