Bonjour
J'avais trouvé sur ce forum je crois un code qui permettais de garder une fenêtre (ou ...requester) au premier plan en empêchant les cliques hors de la fenêtre et les combinaison du style ALT + TAB ou encore ALT + F4 ou CTRL + ALT + SUPPR.
Mais j'ai pas réussi à le retrouvé et à disparu de mon pc.
Es-ce que quelqu'un pourrait me donner ce code ou un autre faisant la même chose svp ?
Clique impossible hors de la fenêtre
-
- Messages : 333
- Inscription : sam. 25/juin/2005 11:18
- Localisation : Laon (02)
- Contact :
-
- Messages : 264
- Inscription : ven. 28/oct./2005 8:20
- Localisation : Mayotte ( 976 ), Océan Indien, France
Si j'ai bien compris ce que tu veux, ce code devrait aller
, à toi de l'adapter :

Code : Tout sélectionner
OpenWindow(0, 0, 0, 500, 500, #PB_Window_SystemMenu, "au")
OpenWindow(1, 0, 0, 200, 200, #PB_Window_WindowCentered, "test", WindowID(0))
CreateGadgetList(WindowID())
ButtonGadget(0, 50, 50, 50, 20, "test")
OpenLibrary(0, "user32.dll")
Repeat
bruit.b = #False
z = CallFunction(0, "GetKeyState", 1)
While CallFunction(0, "GetKeyState", 1) <> 1 And CallFunction(0, "GetKeyState", 1) <> 0 And WindowMouseX() = -1 And WindowMouseY() = - 1
If bruit = #False
CallFunction(0, "MessageBeep", 5)
bruit = #True
EndIf
WindowEvent()
Delay(1)
Wend
Until WaitWindowEvent() = #PB_Event_Gadget And EventGadgetID() = 0
CloseWindow(1)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
C'est déjà un bon début ^^.CameleonTH a écrit :Pour le CTRL + ALT + SUPPR tu peut toujour utiliser la librairie PBOSL (pas sur du nom) et killer taskmgr.exe.
Moi je fais comme sa.
@ AWEAR : désolé mais c'est pas sa

En fait je cherche à faire que l'on ne puisse pas clique hors de ma fenetre ou que ces clique ne soit pas pris en compte et que tout les truc susceptibe de fermer ou cacher ma fenetre par le clavier soit impossible.
mais je trouve tjr pas ce fichu code ^^.
-
- Messages : 333
- Inscription : sam. 25/juin/2005 11:18
- Localisation : Laon (02)
- Contact :
-
- Messages : 264
- Inscription : ven. 28/oct./2005 8:20
- Localisation : Mayotte ( 976 ), Océan Indien, France
Bon alors ça cette fois ça devrait aller, impossible de désactiver la fenêtre tant que tu cliques pas sur le bouton. Pas visible dans le Gestionnaire de Tâches, visible avec Alt + Tab, mais ne peut normalement pas perdre le focus :
S'il y a besoin d'expliquation ( et bien sur que c'est ca que tu cherches
), demande et j'essayerais de répondre
Code : Tout sélectionner
OpenLibrary(0, "user32.dll")
Procedure.s WindowsEnu()
Static Flag,hWnd
Repeat
If Flag=0
hWnd = CallFunction(0, "FindWindowA", 0, 0 )
Flag=1
Else
hWnd = CallFunction(0, "GetWindow", hWnd, 2)
EndIf
If hWnd <> 0
If CallFunction(0, "GetWindowLongA", hWnd, -16) & $10000000 = $10000000; pour lister que les fenêtres visibles
If CallFunction(0, "GetWindowLongA", hWnd, -20) & 256 <> 256 ; pour lister que les fenêtres qui ne sont pas des ToolWindow ou barre d'outils
retour.s = Space(256)
CallFunction(0, "GetWindowTextA", hWnd, retour, 256)
If retour<>"" : Break : EndIf
EndIf
EndIf
Else
Flag=0
EndIf
Until hWnd=0
ProcedureReturn retour
EndProcedure
Procedure GetHandl(WindowsName.s)
retour= CallFunction(0, "FindWindowA", 0, WindowsName)
ProcedureReturn retour
EndProcedure
Procedure Tim()
CallFunction(0, "SetForegroundWindow", WindowID())
EndProcedure
Procedure Time(TimerId,Delay,ProcedureAdress)
CallFunction(0, "SetTimer", WindowID(),TimerId,Delay,ProcedureAdress)
EndProcedure
Procedure TimeKill(TimerId)
CallFunction(0, "KillTimer", WindowID(),TimerId)
EndProcedure
OpenWindow(1, 0, 0, 0, 0, #PB_Window_Invisible, "", CallFunction(0, "GetDesktopWindow"))
OpenWindow(0, 0, 0, 500, 500, #PB_Window_ScreenCentered, "test", WindowID(1))
CreateGadgetList(WindowID())
ButtonGadget(0, 0, 0, 50, 20, "Ok")
Procedure MakeRequester(WindowId, State)
State = 1 - State
If state = 0
Time(0, 1, @tim())
Else
TimeKill(0)
EndIf
x.s = WindowsEnu()
While x
If GetHandl(x) <> WindowId
CallFunction(0, "EnableWindow", GetHandle(x), State)
EndIf
x = WindowsEnu()
Wend
EndProcedure
MakeRequester(WindowID(), #True)
Repeat
Until WaitWindowEvent() = #PB_Event_Gadget And EventGadgetID() = 0
MakeRequester(WindowID(), #False)

La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)