Bloquer les cliques souris

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Bloquer les cliques souris

Message par gansta93 »

Bonjour,

J'avais posté un sujet pour savoir comment désactiver la souris sous Windows 2000. Le Soldat Inconnu m'avait passé un code pour bloquer la souris, mais pas les cliques.
Quelqu'un aurait-il une idée?
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

ShowCursor_(1) ; montre le curseur
ShowCursor_(0) ; cache le curseur !!

je pense que ça empêche l'utilisateur de cliquer sur quoi que ce soit
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tiens, je pense avoir trouvé la solution
Rundll32.exe user,exitwindows Quitte Windows
Rundll32.exe user,wnetconnectdialog Active la boîte de dialogue "se connecter à un lecteur réseau"
Rundll32.exe user,wnetdisconnectdialog Active la boîte de dialogue "se déconnecter à un lecteur réseau"
Rundll32.exe user,disableoemlayer Arrête le PC
Rundll32.exe user,repaintscreen Actualise l'affichage (comme F5)
Rundll32.exe user,setcursorpos Place le curseur en haut à gauche
Rundll32.exe Diskcopy,DiskCopyRunDll Active la boîte de dialogue "Copie d'une disquette"
Rundll32.exe rnaui.dll,RnaWizard /1 Active la boîte de dialogue "connexion au réseau"
Rundll32.exe shell,shellexecute Ouvre l'explorateur
Rundll32.exe shell32,OpenAs_RunDLL Active la boîte de dialogue "ouvrir avec"
Rundll32.exe shell32.dll,SHFormatDrive Active la boîte de dialogue "formater la disquette"
Rundll32.exe shell32.dll,ShellAboutA Affiche des informations sur la version de Windows
Rundll32.exe shell32,SHExitWindowsEx 0 Redémarre Windows 98
Rundll32.exe shell32,SHExitWindowsEx 1 Quitte Windows 98
Rundll32.exe shell32,SHExitWindowsEx 2 Démarre Windows 98
Rundll32.exe shell32,SHExitWindowsEx -1 Redémarre l'explorateur de Windows 98
Rundll32.exe shell32.dll,Control_RunDLL Ouvre le panneau de configuration
Rundll32 keyboard,disable Désactive le clavier
Rundll32 mouse,disable Désactive la souris
Rundll32 krn 1386.exe,exitkernel Quitte Windows sans demander d'enregistrer les documents actifs
regarde l'avant dernière ligne. visiblement, tu lances rundll32.exe avec en param mouse,disable et c'est bon
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

oui, mais le problème est que ça ne marche pas sous Win 2K...
J'avais oublié de préciser. :oops:
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

il y a un mec sur le forum anglais qui a créé un genre de pluggin pour purebasic
pluggin qui appelle la dll de AutoIt

celle ci intégrant une possibilité de verouillage de clavier & souris sous 2K/XP
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Euh... je vais rechercher ça... mais c quoi cette DLL ? AutoIt ?
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

http://www.hiddensoft.com/AutoIt/
Soft de Script type Basic avec plein de super fonctions ( concurent de Kixstart ? )
une version Dll est fournie utilisable en Pure
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

J'ai même la lib Pure, mais... rien pour bloquer les cliques souris à moins que j'ai encore mal cherché.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tiens, essaye ça :

je crée une fenêtre transparente toujours au premier plan et recouvrant tout l'écran pour empêcher les clic avec la souris

ALT + F4 pour quitter

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 3.90
;
; Explication du programme :
; Mettre une fenêtre en plein écran (la barre des tâches n'est plus visible)

If OpenWindow(1 ,0, 0, 300, 300, #PB_Window_Invisible, "Plein écran") ; fenêtre mère invisible
  If OpenWindow(0, 0, 0, 300, 300, #PB_Window_BorderLess, "Plein écran", WindowID(1)) ; Fenêtre fille de la fenêtre invisible, ça me permet de masquer la fenêtre dans la barre des tâches
    
    ShowWindow_(WindowID(), #SW_MAXIMIZE) ; Met la fenêtre en plein écran
    SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ; Pour mettre la fenêtre toujours au premier plan
    
    If OpenLibrary(0, "user32.dll") ; On rend la fenêtre la plus transparente possible
      SetWindowLong_(WindowID(), #GWL_EXSTYLE, GetWindowLong_(WindowID(), #GWL_EXSTYLE) | $00080000)
      CallFunction(0, "SetLayeredWindowAttributes", WindowID(), 0, 1, 2)
      CloseLibrary(0)
    EndIf 
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #WM_CLOSE
    
  EndIf
EndIf
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Effectivement, j'ai bien mes cliques souris bloqués mais... pas possible de faire autre chose en même temps... dsl d'être aussi exigant...
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Issu de la Doc AutoIt v3

Code : Tout sélectionner

BlockInput 
--------------------------------------------------------------------------------

Disable/enable the mouse and keyboard.


BlockInput ( flag )
 

 

Parameters

flag 1 = Disable user input
0 = Enable user input 

 

Return Value

None.

 

Remarks

If BlockInput is enabled, the Alt keypress cannot be sent!
The table below shows how BlockInput behavior depends on Windows' version; however, pressing Ctrl+Alt+Del on any platform will re-enable input due to a Windows API feature.

Operating System "BlockInput" Results 
Windows 95 No effect. 
Windows 98/Me User input is blocked but AutoIt is also unable to simulate input. 
Windows NT 4 (Without ServicePack 6) No effect. 
Windows NT 4 (With ServicePack 6) User input is blocked and AutoIt can simulate most input. 
Windows 2000/XP User input is blocked and AutoIt can simulate most input. 

Note that functions such as WinMove() will still work on Windows 98/Me when BlockInput is enabled.


 

Related

Send 
 

Example

If @OSVersion <> "WIN_98" And @OSVersion <> "WIN_ME" Then
    BlockInput(1)
EndIf

Run("notepad")
WinWaitActive("Untitled - Notepad")
Send("{F5}")  ;pastes time and date

BlockInput(0)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Oui mais je voudrais pouvoir utiliser le clavier aussi et ne bloquer la souris et pouvoir faire ce que je veux comme d'habitude avec mon clavier.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

ok, donc faut rendre le focus à un autre programme :wink:
un simple ALT + TAB le permet avec mon exemple.

On peut éventuellement le programmer pour rendre le focus à la dernière fenêtre utilisée

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu 
; Version de PB : 3.90 
; 
; Explication du programme : 
; Mettre une fenêtre en plein écran (la barre des tâches n'est plus visible) 

WinID = GetForegroundWindow_() ; On récupère la fenêtre en cours d'utilisation

If OpenWindow(1 ,0, 0, 300, 300, #PB_Window_Invisible, "Plein écran") ; fenêtre mère invisible 
  If OpenWindow(0, 0, 0, 300, 300, #PB_Window_BorderLess, "Plein écran", WindowID(1)) ; Fenêtre fille de la fenêtre invisible, ça me permet de masquer la fenêtre dans la barre des tâches 
    
    ShowWindow_(WindowID(), #SW_MAXIMIZE) ; Met la fenêtre en plein écran 
    SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ; Pour mettre la fenêtre toujours au premier plan 
    
    If OpenLibrary(0, "user32.dll") ; On rend la fenêtre la plus transparente possible 
      SetWindowLong_(WindowID(), #GWL_EXSTYLE, GetWindowLong_(WindowID(), #GWL_EXSTYLE) | $00080000) 
      CallFunction(0, "SetLayeredWindowAttributes", WindowID(), 0, 1, 2) 
      CloseLibrary(0) 
    EndIf 
    
    ; On remet la fen utilisé active
    SetForegroundWindow_(WinID)
    
    Repeat 
      Event = WaitWindowEvent() 
    Until Event = #WM_CLOSE 
    
  EndIf 
EndIf
Par contre si on clique, mon prog reprend le focus et il faut faire ALT +TAB
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Merci pour le code... cool.
Vais faire des testes sur plusieurs personnes.
Merci ;-).
Répondre