Je répète une question d'un autre forum, comme j'aimerais la même réponse.
de MSDN Swapmousebutton fonction . P>
Comment passer des données booléennes de la commande de commande via Rundll32.exe à un argument de type booléen dans une commande en cours d'exécution de user32.dll? p>
J'essaie d'exécuter cela à partir de cmd (l'invite de commande) p>
RUNDLL32.EXE user32.dll,SwapMouseButton *
- f li>
- f li>
- faux li>
- faux li>
- faux li>
- "FAUX" LI>
- "FAUX" LI>
- "FAUX" LI>
- 0 li>
- -1 li> ul>
Aidez-moi à passer l'argument selon vos besoins. Merci d'avance. P> blockQuote> p>
5 Réponses :
vous ne em> Utilisez rundll32 code>
pour cela.
q164787: info: interface Windows Rundll et Rundll32 em> p>
[...] em> Les programmes RundLL et Rundll32 ne vous permettent pas d'appeler une fonction exportée de n'importe quelle DLL. Par exemple, vous ne pouvez pas utiliser ces programmes utilitaires pour appeler l'API Win32 (interface de programmation d'application) exportée à partir des DLL système. Les programmes ne vous permettent que d'appeler des fonctions d'une DLL explicitement écrite pour être appelées par elles. P> BlockQuote>
Si vous avez le fichier d'exécution .NET Framework installé, il est livré avec des compilateurs pour plusieurs langues (par exemple,
% Systemroot% \ Microsoft.net \ Framework64 \ v3.5 \ CSC. EXE code> pour le compilateur V3.5 C # sur des systèmes 64 bits). Vous pouvez Écrire un programme en C # : P>
swap swap /u
Merci beaucoup pour la solution C #. Cela a fonctionné comme un charme.
J'ai fait une légère modification afin que je puisse simplement cliquer sur un bureau court-coupé pour basculer le bouton principal de la souris, sans passer des arguments. Au cas où mon approche aide quelqu'un d'autre, voici cette version: p>
Il y a un piratage, qui peut être utilisé pour configurer la disposition de la souris pour un utilisateur gaucher.
Il suffit d'exécuter la commande suivante: exécutez cette commande pour reconfigurer la mise en page de la souris pour un utilisateur gaucher. P> Je vais vous donner une explication pour Ce type de comportement: p> fonctions, appelés par Rundll32.exe, ont le prototype de fonction suivant: p> swapmoustton possède le prototype de fonction suivant: p> swapmoustton utilise la même convention d'appel (__stdCall) comme chaque fonction appelée par Rundll32.exe. P> Si vous appelez SwapMouseButton avec Rundll32.exe avec une ligne de commande supplémentaire, cette ligne de commande sera transmise à cette fonction sous la forme lpszcmdline em> et sera ignorée. p> Si vous appelez ces fonctions à l'aide de Rundll32, Rundll32 passe automatiquement une validité Poignée de fenêtre (HWND) comme premier argument de la fonction appelée. p> HWND - Poignée de fenêtre qui doit être utilisée comme fenêtre propriétaire pour
Toute Windows Votre DLL crée P> La fonction SwapMouseButton Fonction appelée par Rundll32 nécessite true comme premier argument afin de configurer la disposition de la souris pour un utilisateur gaucher. La poignée de fenêtre valide passée par Rundll32.exe à SwapMouseButton dans User32.dll est inégale à 0 et est définie comme true, lors de l'utilisation d'une valeur BOOL. P> Vous pouvez trouver des détails sur rundll32.exe et le prototype utilisé. Par les fonctions appelées par cet exécutable ici:
Info: Interface Windows Rundll et Rundll32 P> Vous pouvez trouver des détails sur la fonction SwapMouseButton ici:
fonction SwapMouseButton (Windows) a> p> p>
J'ai résolu le même problème en recherchant "souris" dans le menu Démarrer. Vous trouverez une option avec le même nom. cliquez dessus. Une boîte de dialogue apparaîtra. Il anime l'option "Bascules primaires et secondaires" dans l'onglet Boutons avec la case "Configurations de boutons". P>
Un swaper plus court en C:
#include <windows.h> int main() { if (SwapMouseButton(TRUE)) SwapMouseButton(FALSE); return 0; }
Je ne suis pas sur une machine Windows en ce moment, mais avez-vous essayé
1 code> du tout, ou rien du tout?
Rundll32 passe toujours l'argument comme une chaîne, par conséquent dans votre cas un pointeur à cordes! = FALSE = TRUE = SWAPMouseButTons. Rundll32 ne peut pas simplement savoir par magie pour analyser votre argument comme un entier.