Come faccio a scambiare i pulsanti sinistro e destro del mouse in .NET (preferibilmente C#)? Fondamentalmente il risultato dovrebbe essere lo stesso di se l'utente ha selezionato la casella di controllo "Cambia pulsanti primari e secondari" in Proprietà del mouse tramite il pannello di controllo. Ho a che fare con Windows XP, nel caso questo faccia la differenza.Scambiare il pulsante sinistro e destro del mouse in .NET
risposta
È possibile utilizzare una chiamata API di Windows per SwapMouseButton
:
using System.Runtime.InteropServices;
// ...
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);
// ...
// Swap it.
SwapMouseButton(1);
// Back to normal.
SwapMouseButton(0);
grazie. potrebbe voler aggiungere che è necessario "using System.Runtime.InteropServices;" –
Whoops; Ho davvero trascurato di menzionarlo. Lo aggiungerò per riferimento futuro. –
Funziona ma lo stato non viene salvato dopo che l'utente si è disconnesso. Per ricordare lo stato di swap devi usare la soluzione di Porges con il registro. – foka
Here's a code snippet che fa questo.
Qualcosa di simile a questo:
using Microsoft.Win32;
var key = Registry.CurrentUser.CreateSubKey("Control Panel\\Mouse\\");
var newValue = key.GetValue("SwapMouseButtons");
if (newValue == null) newValue = "1";
else newValue = Int32.Parse(newValue) == 1 ? "0" : "1";
key.SetValue("SwapMouseButtons", newValue, RegistryValueKind.String);
- 1. Rileva il clic destro e sinistro del mouse su NSView
- 2. Fare clic con il pulsante destro del mouse su .Net TreeNode
- 3. Objective-C: NSStatusBar clic destro e sinistro
- 4. Rileva il tasto sinistro del mouse premi
- 5. Come verificare se il mouse si muove, mentre il pulsante sinistro del mouse è premuto, C#
- 6. Selenio 2 destro del mouse
- 7. Padding sinistro/destro per Button.setCompoundDrawablesWithIntrinsicBounds()?
- 8. Posizionamento alternato sinistro e destro con CSS
- 9. Come attivare un clic del mouse con il tasto sinistro del mouse in C#?
- 10. Cambia le opzioni del menu di scelta rapida con il pulsante destro del mouse in VS2008
- 11. Silverlight Datagrid selezionare con il tasto destro del mouse
- 12. Mouse USB Android tasto destro del mouse comportamento corretto (ICS)
- 13. Rileva il tasto destro del mouse Safari di Safari
- 14. Stroke lato destro e sinistro del rettangolo svg
- 15. GraphViz albero binario destro e sinistro bambino
- 16. Il cursore lucido limita la reazione al rilascio del pulsante sinistro del mouse
- 17. Tenendo premuto il tasto sinistro del mouse in AutoHotkey
- 18. Come rilevare il movimento del mouse mentre si tiene premuto il pulsante sinistro?
- 19. Canale sinistro destro di Android
- 20. Esiste un doppio clic con il pulsante destro del mouse in Win32?
- 21. Il clic destro del flash si comporta in modo diverso rispetto al clic sinistro
- 22. Come si disabilita il clic con il pulsante destro del mouse all'interno di un TextBox
- 23. DataGridView tasto destro del mouse/copia esempio?
- 24. Esiste un metodo per scambiare i lati sinistro e destro di un insieme di espressioni in Visual Studio?
- 25. Chrome non si applica css stile hover quando il pulsante sinistro del mouse è premuto
- 26. tasto galleggiante sinistro/destro all'interno div
- 27. Fare clic con il pulsante destro del mouse su React JS
- 28. Applescript fare clic con il pulsante destro del mouse su un file
- 29. Come implementare un doppio clic con il pulsante destro del mouse per Winforms?
- 30. Vedere se il pulsante sinistro del mouse viene tenuto premuto nell'evento OnMouseMove
what do u dire scambiando ... fare u vogliono fare uno swap a livello di sistema o di uno swap per la propria applicazione? – Aamir