private void AutoInput( object sender, MouseHookedEventArgs e ) { if( !this._autoInputFlag ) { return; } switch( e.Message ) { case MouseMessage.LUp: case MouseMessage.RUp: if( !Client.IsAlive || !Client.IsActiveWindow ) { return; } this.dgv.Rows[this._autoInputRowIndex].Cells[DgvCol.X].Value = Math.Round( e.Point.X / Client.ratioW ) - Client.x; this.dgv.Rows[this._autoInputRowIndex].Cells[DgvCol.Y].Value = Math.Round( e.Point.Y / Client.ratioH ) - Client.y; this.dgv.Rows[this._autoInputRowIndex].Cells[DgvCol.OPERATION].Value = e.Message == MouseMessage.LUp ? MouseOperationText.LEFT : MouseOperationText.RIGHT; break; case MouseMessage.Move: case MouseMessage.LDown: case MouseMessage.RDown: case MouseMessage.MDown: case MouseMessage.MUp: case MouseMessage.Wheel: case MouseMessage.XDown: case MouseMessage.XUp: return; default: throw new ArgumentOutOfRangeException(); } this._autoInputFlag = false; this.dgv.Rows[this._autoInputRowIndex].Cells[DgvCol.X].Style.BackColor = Color.White; this.dgv.Rows[this._autoInputRowIndex].Cells[DgvCol.Y].Style.BackColor = Color.White; this.dgv.Rows[this._autoInputRowIndex].Cells[DgvCol.OPERATION].Style.BackColor = Color.White; }
private void mouseHookProc(object sender, MouseHookedEventArgs e) { if (e.Message == MouseMessage.LDown) { label1.Text = $"[左]クリックdownを検知"; } else if (e.Message == MouseMessage.LUp) { label1.Text = $"[左]クリックUpを検知"; } }
private void MouseHooked(object sender, MouseHookedEventArgs e) { if (e.Point.X > this.Left - 5 && this.Left + 5 > e.Point.X && e.Point.Y > this.Top - 5 && this.Top + 5 > e.Point.Y) { if (!grid.Visible) { grid.Left = this.Left - 5; grid.Top = this.Top - 5; grid.Show(this); } } if (e.Point.X > this.Left - 3 && this.Left + 3 > e.Point.X && e.Point.Y > this.Top && this.Top + this.Height > e.Point.Y) { this.Cursor = Cursors.Hand; } }