IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Faire une formulaire actif en permanance


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Par défaut Faire une formulaire actif en permanance
    Bonjour,

    Je fait actuellement une application en C# sous visual studio 2010 qui permets d'activé et de désactivé le micro sur pression d'une touche en particulier, dans mon cas, je gère ceci avec ma souris. Je n'ai aucun problème à ce niveau la, j'arrive a mute/un-mute le micro sans problème, lors de la pression du bouton choisi.

    Le problème, c'est que l'objectif est d'utiliser cette application sur des jeu ou sur des programmes en plein écran. Il faut donc que mon formulaire sois masqué, qu'il ne dérange pas l'utilisateur. J'arrive facilement a caché un formulaire avec le fonction hide(). Le problème est que lorsque je lance une application, par exemple un jeu, mon programme ne fait plus effet, alors qu'il est bien en route. J'ai essayé avec plusieurs jeu/application et j'ai constaté que cela ne se produit pas sur toute les applications. Par exemple, sur un browser, mon programme fonctionnera parfaitement.

    Je ne comprends donc pas pourquoi mon programme ne fait plus effet lors que je lance un jeu.


    A noter que la vérification si le bouton est presser se fait dans un thread.

    Merci d'avance pour votre aide.

    EDIT: Cela ne viens du fait que mon application perds le focus. J'ai essayer sur différente application et sur les browsers il n'y a pas de problème, mon application reste active.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    à googler : api hook clavier
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    à googler : api hook clavier
    Après avoir fait quelque recherche, je suis tombé la dessus:

    http://www.codeproject.com/KB/cs/netwin32hooks.aspx

    J'ai fait quelque essai en m'inspirant de ça, sa fonctionne très bien(et bien plus propre que ma manière de faire) MAIS cela ne règle pas mon problème. L’évènement se déclenche correctement lors-que mon application à le focus mais malheureusement, si elle ne l'a pas, il ne se passe rien.

    Etant donnée que mon application ne dois pas être visible par l'utilisateur et ne doit pas avoir de focus, cela ne résous malheureusement pas le problème.

    Si quelqu'un à une idée de comment faire ou la direction dans la quel je dois chercher, merci d'avance de m'en faire part.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    essaye de rajouter global dans la recherche et dans le pire des cas remplacer clavier par keyboard
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Dans l'exemple que tu donnes il utilise pour le hook WH_KEYBOARD. Pour que se soit global il faut utiliser WH_KEYBOARD_LL
    http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx

  6. #6
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 8
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    essaye de rajouter global dans la recherche et dans le pire des cas remplacer clavier par keyboard

    J'ai fait quelque recherche de ce côté la et j'ai trouvé de bon exemple, merci beaucoup de m'avoir orienté.
    Je suis tombé sur quelque chose de très intéressant:

    http://www.codeproject.com/KB/cs/globalhook.aspx


    J'ai essayé de mettre en place grâce au explication mais je n'ai pas réussit, les évènement ne se lance pas. Bref, cela viens certainement de moi qui n'ai pas correctement manipulé tout sa.

    J'ai tout de même essayé le programme d'exemple, qui m'a permis de constaté que le problème est toujours présent. Lors-que je lance certaine application (tout les jeu que j'ai utilisé réagissait la même chose), les pressions que ce sois sur le clavier ou avec la souris ne sont toujours pas enregistré. Je crains donc que l'utilisation de hook(global ou pas) ne règle pas ce problème.

    Et c'est là que je m’interroge a l'origine du problème. Effectivement, avant de formaté mon PC(il y a une semaine de cela) j'avais un programme, fait en C#, qui permettait de faire ce que j'essaie de faire, c'est à dire un programme qui fonctionne en permanence et qui mute/un-mute sur pression d'une touche. Après le formatage, j'ai constaté que ce programme ne fonctionnais plus (réagissait comme mon application, lors-que j'ouvre un jeu et qu'il à le focus, cela n'enregistrait plus les pressions) C'est ce qui m'a motivé a faire moi-même l'application.

    Et je me demande donc si le problème ne viens, non pas de l'application mais d'autre chose? J'ai toujours le même système d'exploitation Windows 7, les seul changement sont que j'ai effectué les mise-à-jour.

    Le problème est donc identique, d'après ce que j'ai constaté, sur mon application et sur celle que j'utilisais avant. C'est pourquoi je me demande si cela pourrait venir d'une configuration de mon ordinateur? qu'en pensez-vous?

    Citation Envoyé par meziantou Voir le message
    Dans l'exemple que tu donnes il utilise pour le hook WH_KEYBOARD. Pour que se soit global il faut utiliser WH_KEYBOARD_LL
    http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx
    Merci beaucoup, j'ai également essayé ce programme mais le résultat reste le même, malheureusement.

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/03/2007, 09h42
  2. faire une macro pour un sous formulaire
    Par db48752b dans le forum Access
    Réponses: 2
    Dernier message: 18/09/2006, 23h14
  3. faire une mosaique d'image dans un formulaire
    Par db48752b dans le forum IHM
    Réponses: 17
    Dernier message: 05/09/2006, 13h55
  4. Desire faire un formulaire avec une BD relationnelle
    Par mosstu126 dans le forum Access
    Réponses: 6
    Dernier message: 05/01/2006, 14h39
  5. faire une boucle ds un formulaire
    Par gohu13 dans le forum Access
    Réponses: 1
    Dernier message: 21/09/2005, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo