SENDKEYS F-Key отправляет трему Y (Y с двумя точками над ней) - PullRequest
1 голос
/ 01 марта 2011

Я пытаюсь отправить F-ключи в приложение из приложения C #, которое я пишу. Когда я посылаю любую F-клавишу, она отображается как Ÿ (trema Y). Я согласился бы на .NET программным нажатием нужной F-клавиши, как только я привел нужную вдову в фокус.

Когда я запускаю код на моей машине для разработки, F-клавиши интерпретируются правильно. Компьютер, интерпретирующий их как trema Y, является клиентом Windows 7 .NET 4 64 бит.

Я пробовал SendKeys.SendWait("{F2}") и SendKeys.Send("{F2}"). У меня есть следующий код в app.config:

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

Вот мой пример кода:

void PopTargetApp()
{
    try
    {
        string TargetWindowTitle;

        TargetWindowTitle = "notepad";

        int iHandle = NativeWin32.FindWindow(null, TargetWindowTitle);
        NativeWin32.SetForegroundWindow(iHandle);

        SendKeys.SendWait("{F2}");

        SendKeys.Flush();
        //Thread.Sleep(1000);
        SendKeys.SendWait(currentInteraction.Account + "{Enter}");
        SendKeys.Flush();

        toolStripStatusLabel1.Text = String.Format("{0} {1}", TargetWindowTitle, iHandle.ToString());
    }
    catch (System.Exception ex)
    {
        MessageBox.Show(String.Format("Method: {0} \nError: {1} ", MethodInfo.GetCurrentMethod().Name, ex.Message));
    }
}
...