Monoを使用して、現在Windowsで動作するC#プログラム(現在はWPFですが、WindowsフォームまたはSilverlightに変更してMonoが動作するようにします) Macで動く私が最初にできるようにする必要があり、これはMac上で動作するためにはマウスでMac OSをクリックして実行中のOSアプリケーションを検出します
[DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
[DllImport("User32.dll")]
public static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);
:私はマウスがクリックされたときに検出し、また、マウスをクリックして、そのようなネイティブWindowsコードを使用
プログラムがMacまたはWindowsで実行されているかどうかを検出し、マウスがクリックされたかどうかを検出する、またはマウスをクリックするための適切なコードを実行します。何かのように:どのようにMac上でマウスをクリックしてください
- :
if (runningInWindows()) { // Windows mouse click... System.Windows.Forms.Cursor.Position = new System.Drawing.Point(X, Y); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // Or if I want to detect a mouse click... bool mouseClicked = GetAsyncKeyState(System.Windows.Forms.Keys.LButton) != 0; } else { // Running on a Mac, so do Mac mouse click... // Or detect a mouse click on a Mac... }
は基本的に私は3つの質問がありますか? (mouse_eventに相当)
- Macでのマウスクリックをどのように検出しますか? (GetAsyncKeyStateに相当)
- アプリケーションが実行されているオペレーティングシステムをどのように検出しますか?