Page 1 sur 2

Lier une fenête au bureau

Publié : mer. 25/août/2004 13:37
par Le Soldat Inconnu

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 3.9
; 
; Explication du programme :
; Lier une fenêtre au bureau. Ainsi, quand on réduit les applications, cette fenêtre reste visible.

; Création de la fenêtre liée au bureau
OpenWindow(0, 0, 0, 100, 100, #PB_Window_BorderLess | #PB_Window_ScreenCentered, "Liée au bureau", GetShellWindow_())
; Il suffit de mettre en parent la fenêtre qui représente le bureau
; La fonction GetShellWindow_() permet de récupérer le handle du bureau

; Création de la GadgetList
CreateGadgetList(WindowID())

ButtonGadget(0, 0, 0, 100, 100, "Quitter")

Repeat
  Event = WaitWindowEvent()
  
  If Event = #PB_Event_Gadget
    Select EventGadgetID()
      Case 0 ; Appui sur le bouton quitter
        Event = #PB_EventCloseWindow
    EndSelect
  EndIf
  
Until Event = #PB_EventCloseWindow
comme ça, impossible de réduire la fenêtre. sauf si on clique sur le bureau et qu'on fait Windows+D

Publié : mer. 25/août/2004 17:13
par filperj
Ca me donne un message d'erreur du lieur:

Code : Tout sélectionner

POLINK:error:Unresolved external symbol'_GetShellWindow'.
:?: :?:
Est-ce que c'est sensé marcher sur toutes les versions de Windows ?

Publié : mer. 25/août/2004 18:31
par Le Soldat Inconnu
zut, il faut 2000 au mini, j'avais pas fait gaffe :roll:

Publié : mer. 25/août/2004 18:50
par nico
J'ai XP et ça ne veut pas fonctionner!
Message d'erreur à la compilation

alors j'ai remplacé GetShellWindow_() par GetDesktopWindow_()

Publié : mer. 25/août/2004 18:53
par Le Soldat Inconnu
j'ai XP aussi et ça marche :?

avec GetDesktopWindow, la fenêtre se réduit quand même ...

Publié : mer. 25/août/2004 19:03
par Oliv
J'ai XP et la même erreur :?

Publié : jeu. 26/août/2004 15:30
par Le Soldat Inconnu
vous avez aussi japbe ?

Publié : jeu. 26/août/2004 15:44
par Chris
Sous XP, avec jaPBe ou l'éditeur de Pure, c'est idem. Message d'erreur.
Editeur PureBasic a écrit :---------------------------
PureBasic - Linker error
---------------------------
POLINK: error: Unresolved external symbol '_GetShellWindow'.

POLINK: fatal error: 1 unresolved external(s).


---------------------------
OK
---------------------------
jaPBe a écrit :---------------------------
jaPBe - Erreur à l'édition de liens !
---------------------------
< no message >
---------------------------
OK
---------------------------

Publié : jeu. 26/août/2004 15:49
par Backup
pareil que chris avec japbe et xp pro

Publié : jeu. 26/août/2004 15:50
par Le Soldat Inconnu
chris, tu avais écrit ça

Code : Tout sélectionner

Ah, ben si c'est ça que tu veux, en voilà: 

Code: 

hTmp = GetShellWindow_() 
hInstance = GetWindowLong_(hTmp, #GWL_HINSTANCE) 
Buffer$ = Space(256) 

Repeat 
  hTmp = GetTopWindow_(hTmp) 
  GetClassName_(hTmp,Buffer$,256) 
Until Buffer$ = "SysListView32" 

Debug hTmp 
 


Chris 
http://purebasic.hmt-forum.com/viewtopi ... 33&start=0

c'est toi qui m'a fait trouver la fonction et chez toi, ça marche pas ????????

Publié : jeu. 26/août/2004 15:52
par Le Soldat Inconnu
je crois que j'ai compris, voir ici :
http://purebasic.hmt-forum.com/viewtopic.php?t=671

à coup sur, ça marche chez moi parce que j'ai fait ça et vous utilisez tous Japbe, non ?

Publié : jeu. 26/août/2004 15:52
par Chris
Ben oui, mais c'était avec l'ancienne version de Pure. (la 3.81, si mes souvenirs sont bons).

Depuis la 3.90, le compilateur a été remplacé, et il y a pas mal de codes qui ne fonctionnent plus :(

Publié : jeu. 26/août/2004 15:54
par Le Soldat Inconnu
j'ai la 3.90 alors je comprend pas

Publié : jeu. 26/août/2004 15:58
par Chris
Petite correction: c'est dans la 3.91 que le compilo a été changé.
4 Juillet 2004 : Version 3.91

- Modifié: Le compilateur de resource et le linker sont ceux du PellesC (executables encore plus petits).


12 Avril 2004 : Version 3.90

- Ajouté: Toute dernière version de FAsm (l'assembleur), plus rapide et permet de gérer de plus gros sources

Publié : jeu. 26/août/2004 16:01
par Le Soldat Inconnu
ah dommage, je vais pas mettre à jour alors ... et signaler ça à Fred