【发布时间】:2019-02-27 05:42:54
【问题描述】:
就像 form1 在执行 SendKeys 时可能不在焦点上一样?
最终的主要目标是在特定进程窗口处于焦点的前面时模拟按键组合Ctrl+S。
问题是当进程窗口现在在前面并且我正在使用它的菜单时,每次计时器发送诸如 Form1 之类的键或我正在使用它的菜单的进程不在焦点时都会发出哔哔声。不确定。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Process_Window
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1.Enabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
System.ComponentModel.BackgroundWorker worker = new System.ComponentModel.BackgroundWorker();
worker.DoWork += Worker_DoWork;
worker.ProgressChanged += Worker_ProgressChanged;
worker.RunWorkerCompleted += Worker_RunWorkerCompleted; ;
worker.RunWorkerAsync();
}
private void Worker_DoWork(object sender, DoWorkEventArgs e)
{
SendKeys.SendWait("^s");
}
private void Worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
}
private void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
}
}
}
【问题讨论】:
-
您无法获得有关 SendKeys 代码的帮助,只有您可能知道哪个窗口获得了击键。好吧,当它发出哔哔声时可能是错误的。不要这样做。