2

私はWindowsで正常に動作するC#アプリを書いています。キーボードとマウスを制御し、現在開いているプログラムにキーストロークを送信します。

ただし、アプリケーションをLinuxに移植したいので、現在使用しているMouseKeyboardLibrary.dllを使用できません。Windows固有の処理を実行しています。

X11またはXorgのプログラムにキーボードとマウスの動きを簡単に送信できるライブラリはありますか?

4

2 に答える 2

0

私はすでに作られたものを見つけることができませんでした。しかし、私はあなたのための出発点を見つけました:xdotoolは、コマンドラインからマウスとキーボードを制御するプロジェクトです。オープンソースでもあるため、必要に応じて、C#で同じ機能をネイティブに(または必要に応じていくつかのP / Invokesを使用して)実装できます。

于 2011-10-19T16:10:31.650 に答える
0
    public static bool LinuxOS
    {
        get { return Path.DirectorySeparatorChar == '/'; }
    }

    public static void SendKeys(String output)
    {
        if (LinuxOS)
        {
            var args = "";
            switch (output)
            {
                case "{RIGHT}":
                    args = "key Right";
                    break;
                case "{LEFT}":
                    args = "key Left";
                    break;
                default:
                    if (output.StartsWith("{") && output.EndsWith("}"))
                        output = output.Substring(1, output.Length - 2);

                    args = "type \"" + output + "\"";
                    break;
            }

            var proc = new Process
                       {
                               StartInfo =
                               {
                                       FileName = "xdotool",
                                       Arguments = args,
                                       UseShellExecute = false,
                                       RedirectStandardError = false,
                                       RedirectStandardInput = false,
                                       RedirectStandardOutput = false
                               }
                       };
            proc.Start();
        }
        else
        {
            System.Windows.Forms.SendKeys.Send(output);
        }
    }
于 2018-06-28T07:35:56.413 に答える