Je l'ai fait pour un HTA en utilisant un contrôle ActiveX. Il a été assez facile de construire le contrôle en VB6 pour faire la capture d'écran. J'ai dû utiliser l'appel API keybd_event parce que SendKeys ne peut pas faire PrintScreen. Voici le code pour cela :
Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Const CaptWindow = 2
Public Sub ScreenGrab()
keybd_event &H12, 0, 0, 0
keybd_event &H2C, CaptWindow, 0, 0
keybd_event &H2C, CaptWindow, &H2, 0
keybd_event &H12, 0, &H2, 0
End Sub
Cela ne vous permet que de placer la fenêtre dans le presse-papiers.
Une autre option, si la fenêtre dont vous voulez faire une capture d'écran est une HTA, serait d'utiliser simplement un XMLHTTPRequest pour envoyer les nœuds DOM au serveur, puis de créer les captures d'écran côté serveur.
0 votes
Pouvez-vous préciser pourquoi vous voulez faire cela ? Il existe peut-être d'autres solutions que les captures d'écran.
0 votes
J'envisage de demander à l'utilisateur de concevoir grossièrement ce qu'il veut, un peu comme un croquis et un peu comme un glisser-déposer d'objets. Je veux ensuite que ce "design" soit utilisé comme une partie des instructions dans un processus de production. Il s'agit bien d'une étape impliquant l'utilisateur, rien de clandestin ici :)
0 votes
Duplicata possible de Comment faire une capture d'écran d'un visiteur ?
0 votes
Cela répond-il à votre question ? Utilisation de HTML5/Canvas/JavaScript pour réaliser des captures d'écran dans le navigateur