2008-10-06 14 views
0

Bonne journée.Comment désactiver le menu contextuel dans une application externe lancée

J'ai un programme qui lance une application externe. Cette application externe a un sous-menu de clic droit sur ce que je dois désactiver. Est-il possible (sans modifier l'application externe) de désactiver le clic droit? Peut-être autorisation ou des politiques de groupe et etc.

Merci.

+0

Quelle application lancez vous? Je doute que ce soit possible ... mais je peux me tromper. – Blorgbeard

+0

VLC Media Player –

+0

Wow, on dirait que c'est possible. J'adorerais voir la solution postée ici, quand vous travaillerez :) – Blorgbeard

Répondre

1

Je n'étais pas sûr que je voulais poster car je n'ai pas énormément de portée sur le sujet, mais c'est définitivement possible. Si vous avez un handle pour l'application (sinon vous pouvez en obtenir un), vous pouvez l'utiliser pour désactiver le clic droit dans l'application.

http://www.codeguru.com/forum/showthread.php?t=190440

http://support.microsoft.com/kb/318804

semble comme les liens les plus utiles, il va juste sur la façon dont vous devriez accrocher et ne pas tenir compte WM_RBUTTONDOWN et WM_RBUTTONUP.

Je vais essayer d'écrire une meilleure chose plus tard avec un exemple.

Plus de liens/édite

Ce lien pourrait être utile car il explique que vous allez avoir besoin d'utiliser non géré c/C++ pour accrocher à l'aide SetWindowsHookEx.

http://social.msdn.microsoft.com/Forums/en-US/clr/thread/8dd657b5-647b-443b-822d-ebe03ca4033c/

Hope this helps

[EDIT]

Je pense que cela peut effectivement être fait dans une application C# complètement. Je vais poster une solution ce soir

[/ EDIT]

+0

Merci beaucoup! Je n'ai pas encore essayé mais je vais essayer bientôt. Si vous fournissez un exemple en C#, ce sera génial, mais ne vous embêtez pas trop. –

+0

Je n'ai jamais rien fait dans C#, donc ce sera un défi pour le moins :) –

+0

Ok, pas de problème j'essaierai de le gérer moi-même. Merci quand même :) –

0

C'est une FAQ api win32.

voir nouvelles: //194.177.96.26/comp.os.ms-windows.programmer.win32 où il a souvent été discuté

0

Je sais une solution brutale pour Windows. Faire un crochet sur la souris et filtrer tous les messages, aller à la fenêtre du programme externe. Cela peut ralentir un peu tout le système.

Ce n'est pas si compliqué. Voici un tutoriel: http://win32assembly.online.fr/tut24.html Nevermind assembleur, il fonctionne de la même manière dans n'importe quelle langue.

0
<script type="text/javascript"> 
    $(function() { 
     $(document).bind("contextmenu", function (e) { 
      e.preventDefault(); 
     }); 
    }); 

</script> 

Utilisez ce code dans le script pour désactiver un clic droit