为什么sendkey在其他应用程序中不起作用

时间:2015-03-10 09:52:23

标签: c# .net string clipboard drag

我编写了一个程序,它使用全局热键来存储用户拖动的文本,并在按下 crtl + shift + w <时读取文本/ KBD>。 但是当拖动的文本在其他应用程序(如firefox,adobe reader等)中时,该程序不起作用。 这里我的代码在挂钩键的方法中:

void hook_KeyPressed(object sender, KeyPressedEventArgs e)
        {
            //System.Threading.Thread th;

            string backup = Clipboard.GetText();
            SpeechSynthesizer speaker = new SpeechSynthesizer();
            speaker.SetOutputToDefaultAudioDevice();

            string text = null;
            SendKeys.SendWait("^{c}");
            text = Clipboard.GetText();

            //IDataObject format= Clipboard.GetDataObject();
           // string[] str = format.GetFormats();
          //  MessageBox.Show(str[0]);

            MessageBox.Show(text);
            Clipboard.SetText(backup);
            speaker.Speak(text);
        }

它的作用是将剪贴板的文本存储到字符串并发送crtl + c键(存储(或抓取)拖动的文本)并将文本存储在另一个字符串中,然后恢复备份(ed )文本到剪贴板。

有什么想法吗?感谢。

0 个答案:

没有答案