J'ai une exigence différente dans un de mes projets, quand je cours mon exe et le rende au repos (c'est-à-dire sans clic, min, max), après un certain temps (minuterie) il devrait être automatiquement fermé. Si quelqu'un a cliqué avant l'heure donnée, la minuterie doit être réinitialisée pour la même période. Comment puis-je savoir si l'exe est inactif ou non?Pour trouver la fenêtre EXE est active ou pas
Répondre
Vous voudrez peut-être jeter un oeil à l'événement Application.Idle
(Remarque: Applicable uniquement à une application WinForms, pour autant que je sache).
Si vous le combinez avec une minuterie que vous arrêtez/réinitialisez chaque fois que votre application reçoit une entrée, cela devrait vous donner à peu près ce que vous cherchez.
Salut rob merci pour votre réponse, en fait j'ai utilisé du code non managé et l'a réalisé.je vais le poster ici.Merci – karthik
public class GlobalMouseHandler: IMessageFilter
{
public delegate void EventHandlerForActiveState();
public event EventHandlerForActiveState onActive;
public event EventHandlerForActiveState onStateChanged;
private const int WM_KEYDOWN = 0x100;
//private const int WM_HSCROLL = 0x114;
//private const int WM_VSCROLL = 0x115;
private const int WM_LBUTTONDOWN = 0x201;
private const int WM_LBUTTONUP = 0x202;
private const int WM_RBUTTONDOWN = 0x204;
private const int WM_RBUTTONUP = 0x205;
//private const int WM_MBUTTONDBLCLK = 0x209;
private const int WM_MOUSEWHEEL = 0x20A;
private const int WM_GETMINMAXINFO = 0x024;
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 275)
{
return false;
}
switch (m.Msg)
{
case WM_LBUTTONDOWN:
if (onActive != null)
onActive();
break;
case WM_LBUTTONUP:
if (onActive != null)
onActive();
break;
case WM_RBUTTONDOWN:
if (onActive != null)
onActive();
break;
case WM_RBUTTONUP:
if (onActive != null)
onActive();
break;
case WM_MOUSEWHEEL:
if (onActive != null)
onActive();
break;
//case WM_ACTIVATE:
// if (onActive != null)
// onActive();
// break;
case WM_KEYDOWN:
if (onActive != null)
onActive();
break;
case WM_GETMINMAXINFO:
if (onStateChanged != null)
onStateChanged();
break;
//case WM_HSCROLL:
// if (onActive != null)
// onActive();
// break;
//case WM_VSCROLL:
// if (onActive != null)
// onActive();
// break;
}
return false;
}
}
GlobalMouseHandler poignée = new GlobalMouseHandler(); handle.onActive + = new GlobalMouseHandler.EventHandlerForActiveState (handle_onActive); Application.AddMessageFilter (handle); J'ai utilisé cette classe et fait cela.
Manqué certains. Vérifiez http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/815cfbf9-2303-4637-a7c2-d25ef5c1eeb3 –
- 1. Comment vérifier si la fenêtre est active?
- 2. Fenêtre Flex ouverte derrière la fenêtre active
- 3. Fenêtre active Recherche
- 4. NSEvent ou NSNotification lorsque la fenêtre devient active
- 5. Fenêtre contextuelle non active
- 6. Obtenir la dernière fenêtre active: Get La fenêtre précédemment ouverte
- 7. programme est de déterminer si la fenêtre active dans .NET
- 8. Ouvrir une fenêtre exe
- 9. De la fenêtre pop active la fenêtre parent
- 10. Comment puis-je capturer chaque fois que le système d'exploitation OU la fenêtre active est occupé
- 11. Premier plan Vs Fenêtre active
- 12. Obtention du nom de la fenêtre active
- 13. Obtenir élément sélectionné dans la fenêtre active
- 14. NSRunAlertPanel apparaît derrière la "fenêtre active"
- 15. Comment déterminer si la fenêtre en cours est la fenêtre active?
- 16. Comment pouvons-nous vérifier qu'un EXE binaire (PE) est COM Exe ou Win32 Exe?
- 17. fichier dll ou fichier .exe est manquant
- 18. OSX Cocoa: Comment vérifier quelle fenêtre est active?
- 19. Comment savoir si une fenêtre est active? (Win32 API)
- 20. Obtenir le titre de la fenêtre active dans X
- 21. Comment trouver l'instance active de QMainWindow?
- 22. Active JavaScript (jQuery) dans la fenêtre iframe de TinyMCE
- 23. WPF ouvrant le programme exe dans la fenêtre WPF
- 24. Impossible de trouver la propriété Locked dans Active Directory (C#)
- 25. Comment coller une chaîne dans la fenêtre active en Python?
- 26. Obtenir la fenêtre active d'autres programmes en utilisant java
- 27. fenêtre ouvre-porte, ou
- 28. Authentification Active Directory sans fenêtre contextuelle
- 29. Fenêtre contextuelle ou déroulante
- 30. Quelle est la différence entre {active: "yes"} et {"active": "yes"}?
Console, formulaires ou WPF? – spender
Je viens de changer votre edit où vous avez ajouté "winforms" au corps de la question pour l'ajouter comme balise à la place. Il est plus utilement placé là et aidera les autres à trouver cette question et les réponses = – Rob