Je veux capturer quand quelqu'un utilise CtrlC même hors champ. im en utilisant Visual Basic 2010.Vb.net Capture Ctrl + C
Répondre
Bon, alors j'ai une solution pour vous que je vérifiais œuvres. Vous aurez besoin d'une bibliothèque C#, et un peu de travail supplémentaire est nécessaire, mais pas beaucoup. Créez une bibliothèque de classe C# et ajoutez une classe appelée 'MyHooks' et ajoutez une référence à System.Windows.Forms.dll et à la bibliothèque à laquelle je vous ai lié. Votre programme principal qui utilisera ceci référencera cette bibliothèque C# et System.Windows.Forms.
namespace HookManager.Interface {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Gma.UserActivityMonitor;
using System.Windows.Forms;
public static class MyHooks {
public static void HookControlC(KeyEventHandler keyDown, KeyEventHandler keyUp) {
HookManager.KeyDown += keyDown;
HookManager.KeyUp += keyUp;
}
}
}
maintenant dans votre programme peut faire quelque chose comme:
Imports hookmanager.interface
Imports System.Windows.Forms
Module Module1
Sub Main()
MyHooks.HookControlC(AddressOf ControlC_KeyDown, AddressOf ControlC_KeyUp)
While True
Application.DoEvents()
End While
End Sub
Private m_ControlKeyPressed As Boolean = False
Private Sub ControlC_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
If e.KeyValue = 162 OrElse e.KeyValue = 163 Then
m_ControlKeyPressed = True
End If
If m_ControlKeyPressed Then
If e.KeyCode = Keys.C Then
Console.WriteLine("You captured, control c!")
Console.WriteLine(Clipboard.GetText())
End If
End If
End Sub
Private Sub ControlC_KeyUp(ByVal sender As Object, ByVal e As KeyEventArgs)
If m_ControlKeyPressed Then
If e.KeyValue = 162 OrElse e.KeyValue = 163 Then
m_ControlKeyPressed = False
End If
End If
End Sub
End Module
Vous devez créer un crochet de bas niveau. This CodeProject example fonctionne parfaitement et je l'ai utilisé moi-même à des fins d'apprentissage. J'ai légèrement modifié le code, mais voici un exemple simple de quelque chose que vous pourriez faire avec cette bibliothèque. Encore une fois, ceci est juste un exemple et peut ne pas refléter le code final, mais pourrait être facilement modifié pour capturer Control + C, et la bibliothèque est bien documentée.
private static bool m_ControlKeyPressed = false;
private static void ControlC_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyValue == 162 || e.KeyValue == 163) {
m_ControlKeyPressed = true;
}
if (m_ControlKeyPressed) {
if (e.KeyCode == Keys.C) {
e.SuppressKeyPress = true; // Suppress, or do something with it
}
}
}
private static void ControlC_KeyUp(object sender, KeyEventArgs e) {
if (m_ControlKeyPressed) {
if (e.KeyValue == 162 || e.KeyValue == 163) {
m_ControlKeyPressed = false;
}
}
}
Conversion à Vb.Net
Private Shared m_ControlKeyPressed As Boolean = False
Private Shared Sub ControlC_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyValue = 162 OrElse e.KeyValue = 163 Then
m_ControlKeyPressed = True
End If
If m_ControlKeyPressed Then
If e.KeyCode = Keys.C Then
e.SuppressKeyPress = True
End If
End If
End Sub
Private Shared Sub ControlC_KeyUp(sender As Object, e As KeyEventArgs)
If m_ControlKeyPressed Then
If e.KeyValue = 162 OrElse e.KeyValue = 163 Then
m_ControlKeyPressed = False
End If
End If
End Sub
- 1. C# capture Ctrl + Page touche
- 2. capture CTRL + A, CTRL + touches/C dans les événements flex
- 3. PyQt4 et Ctrl C
- 4. Capture Ctrl + Maj + Echap avant le Gestionnaire des tâches
- 5. Capture d'écran de fenêtre VB.NET (ALT + PRINTSCREEN)
- 6. jsch - envoyer des touches spéciales (CTRL-C, CTRL-D, etc.)
- 7. Catching Ctrl + C en Java
- 8. Envoyer Ctrl + C pour traiter
- 9. C: capture d'écran
- 10. Capture devices - Mono C#
- 11. Comment attraper l'événement de touche Ctrl + C avec Qt lorsque Ctrl est relâché avant 'C'?
- 12. Test du 'Ctrl' du clavier en C#
- 13. sigset: ignorant ctrl-c dans Unix
- 14. Capture de la valeur de DataGridView CheckBox dans VB.Net
- 15. Capture d'écran en tant que film avec VB.NET
- 16. étrange clause de capture ... C++
- 17. Silverlight Capture en mp4 C#
- 18. Capture d'une frappe en C++
- 19. C# capture d'écran bureau virtuel
- 20. Comment puis-je capturer CTRL-BACKSPACE dans WPF/C#?
- 21. Redéfinition ctrl = javascript
- 22. comment puis-je simuler CTRL + C en C#
- 23. Comment implémenter une action Ctrl + C en C#?
- 24. Comment puis-je attraper un événement ctrl-c? (C++)
- 25. workerRequest C# VB.NET à
- 26. C# boucle dans vb.net
- 27. VB.NET vers C# - my.computer.getfiles()
- 28. Débogage VB.NET comme C#
- 29. VB.net Regex à C#
- 30. VB.NET Strings.Chr à C#
merci essai mal ce maintenant. – Joseph
oui cela ne fonctionnera pas pour moi, ce code n'est pas vb.net, vous pouvez le dire à partir de; à la fin, plus "private static" – Joseph
Vous avez juste besoin de référencer la bibliothèque dans votre projet, le code que vous allez écrire sera Vb.Net, qui est extrêmement facile à convertir car leurs langues sont extrordinairement similaires. De plus, il y a des convertisseurs sur le web qui vont convertir C# en Vb.Net et vice-versa. Vous devez juste faire un petit effort. –