Fenetre a fond de bureau et bureau virtuel serveur

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Fenetre a fond de bureau et bureau virtuel serveur

Message par Kwai chang caine »

Bonjour à tous

J'avais découvert un super code grace à flype qui permetait d'ouvrir une fenetre qui prenait comme fond celui du wallpaper ce qui avait pour effet de faire disparaitre les icones sous son passage. :P

http://www.purebasic.fr/french/viewtopic.php?t=4513

J'ai utilisé cet effet génial comme base d'une application, et voila pas que les admins réseau de mon boulot, n'ont il pas décidé de supprimer NOVEL des serveurs et de tout passer sous W2000 la gestion du reseau de l'entreprise.

Jusqu'a la pas de bleme, sauf que apparement avec W2000 serveur il ont opté pour une option (obligatoire ou pas, j'en sais rien) qui fait que le bureau que l'on utilise sur chaque poste est "virtuel".

C'est à dire que le wallpaper ne s'installe qu'apres l'installation des parametres personnels.

Alors maintenant, lorsque je démarre ce super code, j'apperçois en fond de fenetre, non pas le wallpaper visible, mais le reel wallpaper qui est derriere horrible et tout bleu. 8O

Ma question est donc la suivante, peut on changer un parametre afin que ce code prenne en compte le fond d'ecran utilisé actuellement sur la session plutot que celui de la machine.

Comme dab encore une question simple.
Je suis désolé. :oops:

Merci
Bonne journée.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Super... je bas encore le score des visites sans aucune réponses 50 pour 0. :lol:

Je sais je sais, je pose toujours des questions à la c..
Mais ce language est tellement top, que j'essais toujours d'en tirer le max.

Vu que je n'ai donc eu aucune réponse, je supose que personne ne vois une solution ou bien la terre entiere m'en veut :lol:

Comme la deuxieme solution serait étonnante, je me rabat sur la premiere.
J'ai donc pensé à nos amis de l'autre coté de la mer pour me donner un coup de main

http://www.purebasic.fr/english/viewtop ... 097#183097

Mais le bleme c'est que je parle anglais comme une vache espagnole et les traducteurs en ligne sont presque aussi bon que moi, car personne ne me comprend la-bas.8O

Déjà que le bleme n'est pas simple.
Alors voila ......, si il existait une ame charitable pour me donner un coup de main sur le post USA afin de me faire comprendre, je suis preneur.....

J'ai vu des CAIDS la bas aussi, qui s'y connaissent noir en fenetres bizzare, comme NETMAESTRO, SPARKIE et surement d'autres, mais la barriere du language aie aie aie !!!! :roll:

Merci d'avance.
8) Bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Salut,

je ne sais pas si j'ai bien tout compris,
tu indique que maintenant le bureau est "virtuel",
serais-tu passé sur un W2K Terminal serveur ?
avec un profil itinérant sans recopie sur le poste local ?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour flaith

Cela doit etre ça.
En fait, j'y comprend pas grand chose au réseau, et encore beaucoup moins quand ça parle de gros reseau d'entreprise. :oops:

J'avais fait un joli programme grace au code de FLYPE dans lequel la fenetre avait comme effet visuel "d'effacer" tout icone sur son passage puisque elle reproduisait le fond d'ecran de la machine. (Wallpaper) pour ensuite réaparraitre quand elle etait passé.
C'etait génial à voir comme effet.
J'en ai donc fait la base de mon appli.

Donc tout allait bien dans le meilleur des mondes, quand les administrateurs de mon entreprise on décidé de changer les serveurs qui fonctionnaient en NT + Novell, pour supprimer novell et laisser la gestion du reseau a W2000.

C'est la seule chose que j'ai comprise.

Par contre cette geniale idée a eu pour consequence de "virtualiser" le fond d'ecran car il est téléchargé a chaque demarrage avec toutes les autres données concernant la session de l'utilisateur.
Je m'en suis rendu compte car avant le fond d'ecran apparaissait tout de suite, et ça moulinait encore alors que maintenant le fond d'ecran n'apparait qu'apres quelques secondes.
Cela a l'avantage de te retrouver avec ton bureau complet "comme à la maison" sur n'importe quelle machine du reseau puisque les données de chaque bureau ne sont plus installée sur les machines mais sur le serveur.

Je me foutais de ce changement, jusqu'au jour ou j'ai eu l'horrible vision que lorsque je demarre mon prg, il continue bien a faire une fenetre avec le fond qui est celui du papier peint, mais apparement c'est le papier peint de la machine qui est toujours le meme sur toute les pc de la boite.

J'en ai donc conclu avec mes minuscules connaissances que le bureau est entierement virtuel et n'est donc plus celui qui est appellé dans le code de FLYPE.

Image

Ma question est donc :
Quelle serait l'idée de génie qui modifierait ce code pour qu'il prenne en compte le fond d'ecran que l'on voit et non pas celui de la machine.

Je te remercie beaucoup de ton aide, car je me sent seul dans cette galere. :(
Bonne journée a toi.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

mon code de la fenetre invisible ,n'etait peut etre pas si nul en fait !! ?? :lol:

je le remet !


; by Dobro fenetre invisible
; Code Transformé pour Purebasic V4



Declare WindowCallback( WindowID ,message,wParam,lParam)
Declare Open_Window()
;- Window Constants
;
Enumeration
   #Window
EndEnumeration

;- Gadget Constants
;
Enumeration
   #Button_ok
   #Text_0
   #Image
   #Image2
EndEnumeration

#CAPTUREBLT = $40000000
;- Fonts
;
Global FontID1
FontID1 = LoadFont (1, "Comic Sans MS" , 14, #PB_Font_Bold )

ExamineDesktops ()

    ; *************************************** Copie du fond ecran dans image (inspiré du Soldat inconu )***************
CreateImage ( #Image , DesktopWidth (0), DesktopHeight (0))


dc_bur = GetDC_ (0)
DC_im = StartDrawing ( ImageOutput ( #Image ))
BitBlt_ (DC_im,0,0 , DesktopWidth (0), DesktopHeight (0), dc_bur , 0,0 , #SRCPAINT|#CAPTUREBLT ) ; recup le bureau dans image
StopDrawing ()
ReleaseDC_ (0, dc_bur)
          ; ********************************************************************************************************************************




Open_Window() ; on ouvre la fenetre


; boucle principale !
Repeat
  
  
   ; *********************************Copie l'image dans fenetre *******************************************
  Form1= WindowID ( #Window )

  bitmap= ImageID ( #Image )
  ps.PAINTSTRUCT
  hdc= BeginPaint_ (Form1,ps)
  hdcMem= CreateCompatibleDC_ (hdc)
   SelectObject_ (hdcMem,bitmap)
   BitBlt_ (hdc,0,0, WindowWidth ( #Window ), WindowHeight ( #Window ),hdcMem, WindowX ( #Window )+4, WindowY ( #Window ) +30, #SRCCOPY|#CAPTUREBLT )
   ReleaseDC_ ( WindowID (0),hdc)
   DeleteDC_ (hdcMem)
   DeleteObject_ (hdcMem)
   EndPaint_ (Form1,ps)
   ; *******************************************************************************************************************
  Event = WaitWindowEvent ()
  
   If Event = #PB_Event_Gadget
     ;Debug "WindowID: " + Str(EventWindowID())
     GadgetID = EventGadget ()
     If GadgetID = #Button_ok
       End
     EndIf
   EndIf
  
  
   ;
Until Event = #PB_Event_CloseWindow



Procedure Open_Window()
   If OpenWindow ( #Window , 321, 217, 257, 200, "by Dobro" , #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
     SetWindowColor ( #Window , RGB (0,0,0))
    
     SetWindowCallback (@WindowCallback()) ; un callback pour que le dessin reste sur la fenetre (repaint)
     If CreateGadgetList ( WindowID ( #Window ))
       ButtonGadget ( #Button_ok , 102, 138, 66, 33, "oK" )
       TextGadget ( #Text_0 , 57, 15, 132, 63, "fenetre Transparente" )
       SetGadgetFont ( #Text_0 , FontID1)
     EndIf
   EndIf
EndProcedure





Procedure WindowCallback( WindowID ,message,wParam,lParam)
  
  res= #PB_ProcessPureBasicEvents
  
   If message= #WM_PAINT ; on repaint la fenetre
    
     ; *********** dessine un box noir pour effacer *************
     memx= WindowWidth ( #Window ) :memy= WindowHeight ( #Window )
     StartDrawing ( WindowOutput ( #Window ))
     Box (0,0,memx,memy, RGB (0,0,0))
     StopDrawing ()
     ; ******************************************************
     ; *********************************Copie l'image dans fenetre *******************************************
    Form1= WindowID ( #Window )
    bitmap= ImageID ( #Image )
    ps.PAINTSTRUCT
    hdc= BeginPaint_ (Form1,ps)
    hdcMem= CreateCompatibleDC_ (hdc)
     SelectObject_ (hdcMem,bitmap)
     BitBlt_ (hdc,0,0, WindowWidth ( #Window ), WindowHeight ( #Window ),hdcMem, WindowX ( #Window )+4, WindowY ( #Window ) +30, #SRCCOPY|#CAPTUREBLT )
     ReleaseDC_ ( WindowID ( #Window ),hdc)
     DeleteDC_ (hdcMem)
     DeleteObject_ (hdcMem)
     EndPaint_ (Form1,ps)
    
     ; *******************system du changement de taille*** on change la taille de la fenetre pour forcer un redraw ************
      ; memx= WindowWidth (#Window ) :memy= WindowHeight (#Window )
     ; ResizeWindow (#Window ,#PB_Ignore,#PB_Ignore, memx,0)
     ; ResizeWindow (#Window ,#PB_Ignore,#PB_Ignore,memx, memy)
    
     ; *******************************************************************************************************************
     ProcedureReturn #True
    
   ElseIf message= #WM_MOVE ; au cas ou l'on bouge la fenetre
   
     ; ********************************************************************************************************************************
     
    
     ; *********************************Copie l'image dans fenetre *******************************************
   
    Form1= WindowID ( #Window )
    bitmap= ImageID ( #Image )
    ps.PAINTSTRUCT
    hdc= BeginPaint_ (Form1,ps)
    hdcMem= CreateCompatibleDC_ (hdc)
     SelectObject_ (hdcMem,bitmap)
     BitBlt_ (hdc,0,0, WindowWidth ( #Window ), WindowHeight ( #Window ),hdcMem, WindowX ( #Window )+4, WindowY ( #Window ) +30, #SRCCOPY|#CAPTUREBLT )
     DeleteDC_ (hdcMem)
     DeleteObject_ (hdcMem)
     EndPaint_ (Form1,ps)
    
     ; ******************************** on change la taille de la fenetre pour forcer un redraw ************
     ; tester ça : RedrawWindow_(WindowID(#FormStartER), 0, 0, #RDW_INVALIDATE|#RDW_UPDATENOW)
     ; ou ça : res = UpdateWindow_(WindowID(#FormStartER))
     ;res = UpdateWindow_(WindowID( #Window))
     memx= WindowWidth ( #Window ) :memy= WindowHeight ( #Window )
    ResizeWindow ( #Window , #PB_Ignore , #PB_Ignore , memx,0)
      ResizeWindow ( #Window , #PB_Ignore , #PB_Ignore ,memx, memy)
     ;RedrawWindow_(WindowID(#Window), 0, 0, #RDW_INVALIDATE|#RDW_UPDATENOW)
    
     ; *******************************************************************************************************************
     ; colorisation du textgedget
    
   ElseIf message= #WM_CTLCOLORSTATIC And lParam = GadgetID ( #Text_0 )
    xg= GadgetX ( #Text_0 )
    yg= GadgetY ( #Text_0 )
     StartDrawing ( ImageOutput ( #image ))
    Couleur = RGB ($0,$0,$0)
     StopDrawing ()
    TextGadgetBackground = CreateSolidBrush_ (Couleur)
    TextGadgetForeground = RGB ($FF,$FF,$00) ; ici la couleur du text !!!
     SetTextColor_ (wParam,TextGadgetForeground)
     SetBkColor_ (wParam,Couleur ) ; ici la couleur du fond !!!
     ProcedureReturn TextGadgetBackground
    
    
     ProcedureReturn #True
   Else
     ProcedureReturn #PB_ProcessPureBasicEvents ; rend la main !
    
   EndIf
EndProcedure
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour DOBRO

Content de te reparler :D

Il est bien aussi ton code 8)
Encore un nouvel effet à ajouter aux fenetres venant de l'espace :lol:

Eh oui, maintenant dans ma collection j'ai :

1/ La fenetre qui est transparente constament, donc quand on change les fenetres qui sont derriere le fond de la fenetre invisible change (puisqu'elle est transparente of course)

2/ La fenetre qui prend le fond de l'ecran (Wallpaper et qui fait donc disparaitre et reapparaitre les icones sur son passage) code de flype et celle que je cherche a faire marcher (Sujet de ce post)

3/ Et grace a DOBRO voici donc la fenetre qui memorise le fond actuel au moment de son ouverture et qui se deplace sur celui-ci, même si il n'est pas plus existant.

Ce qui est genant avec ton code, c'est que si la fenetre s'ouvre avec des fenetres en cours elle restent dans la mémorisation. :roll:
Alors que le code de flype efface tout ce qui est sur son passage puisqu'il mémorise le fond d'ecran vide.
Il faudrait que tu puisse mémoriser le wallpaper dans ton code à la place de faire un snapshot à l'ouverture, pour que ton code ai le même effet que celui de FLYPE et là ça serait bingo.
Evidement et comme tu le sait, je n'ai pas le niveau pour modifier ton code :oops:

Quoi qu'il en soit, je te remercie beaucoup aussi de ton aide, j'en ai bien besoin, je garde ce code dans mon escarcelle en cas de besoin.

Je reste avec mon probléme et espere qu'une nouvelle idée fasse avancer le schmilblick.

Encore merci à tous sincerement
8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

essaye ça au cas ou :D




; by Dobro fenetre invisible
; Code Transformé pour Purebasic V4



Declare myCallback(hwnd, msg, wParam, lParam)
Declare Open_Window()

;- Gadget Constants
;
Enumeration
     #Window
     #Button_ok
     #Text_0
     #image
     #Image2
EndEnumeration

#CAPTUREBLT = $40000000
;- Fonts
;
Global FontID1
FontID1 = LoadFont (1, "Comic Sans MS" , 14, #PB_Font_Bold )

ExamineDesktops ()



Open_Window() ; on ouvre la fenetre


; boucle principale !
Repeat
    
    Event = WaitWindowEvent ()
    
     If Event = #PB_Event_Gadget
         ;Debug "WindowID: " + Str(EventWindowID())
         GadgetID = EventGadget ()
         If GadgetID = #Button_ok
             End
         EndIf
     EndIf
    
    
     ;
Until Event = #PB_Event_CloseWindow



Procedure Open_Window()
     If OpenWindow ( #Window , 321, 217, 257, 200, "by Dobro" , #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
         SetClassLong_ ( WindowID (0), #GCL_HBRBACKGROUND , 0)
         SetWindowCallback (@myCallback())
        myCallback( WindowID (0), #WM_PAINT , wParam, lParam)
         If CreateGadgetList ( WindowID ( #Window ))
             ButtonGadget ( #Button_ok , 102, 138, 66, 33, "oK" )
             TextGadget ( #Text_0 , 57, 15, 132, 63, "fenetre Transparente" )
             SetGadgetFont ( #Text_0 , FontID1)
         EndIf
     EndIf
EndProcedure





Procedure myCallback(hwnd, msg, wParam, lParam)
    Result = #PB_ProcessPureBasicEvents
     Select msg
         Case #WM_PAINT
            hdc = BeginPaint_ (hwnd, @ps.PAINTSTRUCT)
             PaintDesktop_ (hdc)
             EndPaint_ (hwnd,@ps)
            Result = 0
         Case #WM_MOVING
             InvalidateRect_ ( WindowID (0), 0, 0)
         Case #WM_SIZE
             InvalidateRect_ ( WindowID (0), 0, 0)
     EndSelect
     ProcedureReturn Result
EndProcedure
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Kwai chang caine a écrit :...Cela a l'avantage de te retrouver avec ton bureau complet "comme à la maison" sur n'importe quelle machine du reseau puisque les données de chaque bureau ne sont plus installée sur les machines mais sur le serveur...
c'est ce qu'on appel un profil itinérant, certains sont modifiables : lors du 1er accès, tu as un profil qui est identique pour tout le monde, puis tu le modifie si tu as les droits bien sur ;), ensuite il peut être recopié sur le serveur lorsque tu quittes pour enfin pouvoir le retrouver sur un autre poste (mais c'est rare de trouver ce genre de réplications) c'est plus souvent une recopie du profil sur le poste local, unilatéralement (lors de ton accès un script est lancé qui copie, entre autres chose, ton profil sur le poste local).

Donc, à mon avis, à moins d'être administrateur local de ta machine, je crains que tu n'ai des soucis d'affichage de ce type dans l'avenir.

NB: bien entendu c'est un avis que je te livre sans connaître la structure du réseau de ton entreprise ainsi que la politique choisie pour les attributions des droits alloués aux utilisateurs.

Bonne soirée :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

@Dobro

Je te remercie beaucoup, je viens d'essayer ta fenetre et je dis bravo encore une fois. 8)
C'est exactement ce que je recherchais et le même effet que celle de FLYPE. :)
Je ne l'ai pas essayé en grand, pour voir le scintillement car c'etait deja le bleme sur le code de FLYPE au départ et qui avait été corrigé par quelqu'un d'autre dont je ne me rapelle pas le nom.
Evidemment ça marche chez moi sur XP pro sp2, mais qu'en sera t'il sur W2000 server au boulot 8O

Je ne travaille pas aujourd'hui, donc je ne peux le tester, mais des que je retourne au boulot, je me jette sur le pc et evidemment, je te tiens au courant. :wink:

@Flaith

Merci de tes eclaircissements sur le reseau, ce doit etre une des configs que tu as décrite qui regne en maitre sur notre serveur.

Le probleme dans l'informatique, c'est que chaque avancée fait reculer quelque chose.
Moi du profil itinerant, je m'en foutais, par contre, je l'aimais cette fenetre, et j'aurais tant aimé la revoir :( .

Peut etre que grace à DOBRO, je vais la retrouver ????

Comme tu le décris, j'ai une chance que le fond d'ecran soit "répliqué" sur le poste, mais ou ??? porte t'il le meme nom ??? La route est donc encore longue. :(

Mille merci à vous deux de votre aide. 8)
Je me sent moins seul sur l'ile PureBasic :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Comme promis à la premiere heure, je me suis jeté sur le PC de la boite.

Et une grande deception m'y a accueuilli les bras ouvert :(

Le code de DOBRO réagit exactement comme celui de FLYPE

Image

J'suis dégoutté :?

Mais bon sang ou elle est cachée cette satané image de "^*µ#|\@[{# :twisted:

Si quelqu'un a une autre idée, je vous remercie par avance.
Bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

il est probable que l'image du bureau soit sur un autre Ordi (le serveur)

alors effectivement ça sert a rien
de chercher avec cette methode,
puisque ces méthodes, prennent l'image sur le meme ordinateur :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bon bah, je te remercie de t'etre donné la peine. 8)
En tout cas je garde bien ton code on sait jamais.

C'est quand meme une histoire de ouf.
Car cette satané image est bien quelque part dans le PC puisque je la voit 8O

En mémoire, ou ecrite quelque part sur le disque ??? :?

C'est de la folie.
Ou est elle la coquine ???? petit petit ........... :lol:

Peut etre que par miracle quelqu'un aura une autre idée.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Alors la j'y comprend couic ..

J'ai changé le nom de l'image que j'avais moi-meme mis en fond d'ecran (Le dauphin), je redemarre et paf plus de fond d'ecran, juste le fond bleu que vos codes me font apparaitre. 8O

Je vais donc dans la base de registre et je change le wallpaper en lui mettant le nouveau nom de fond d'ecran, et repaf le dauphin nage a nouveau dans mon ecran. 8O

C'est donc apparement que l'image n'est pas sauvegardée sur le serveur et qu'il va bien lire la BDR pour savoir qu'est ce qu'on a choisi comme wallpaper.

Qu'en pensez vous ????
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Je penses qu'il va lire à un autre endroit le wallpaper (vérifie dans documents & settings, puis ton profile)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

J'ai fait une recherche du nom de l'image du wallpaper (Les dauphins.jpg).
Et rien, puis une recherche dans le contenu des fichier et rien non plus.

Je pense que ce ne doit pas etre ecris en ASCII.

Image

Ce qui est fou c'est que c'est bien l'image que j'ai mise sur le PC qui est utilisée, car quand je l'enleve j'ai plus de fond d'ecran.
Elle n'est donc pas sur le serveur.
Mais ou peut etre la commande qui va lire dans la base de registre ??

Et surtout n'existe t'il pas un code en pure qui attrape le reel chemin de l'image du wallpaper ??

Je pourrais peut etre aller lire dans la BDR (si les autorisations le permettent, j'ai pas éssayé) mais apres comment mettre l'image en fond de fenetre, et surtout comment la caller par rapport à l'ecran de façon a ce que l'on ai le meme effet que le dernier code de DOBRO ou celui de FLYPE.

Si on ne la "cale pas" on se retrouvera avec "2 dauphins", un dans le fond d'ecran, et un dans la fenetre selon ou on la place sur l'ecran et selon sa taille.

C'est pas simple comme probleme ..... :?
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre