PureBasic

Forums PureBasic
Nous sommes le Mar 27/Oct/2020 21:59

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 166 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7 ... 12  Suivante
Auteur Message
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 1:30 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14534
Ar-S a écrit:
Dobro, ta proce et la mienne fonctionnent de la même façon... j'insiste


ben non , car ma procedure lit la couleur de reference ,puis utilise cette couleur

alors que la tienne est fixe :)

c'est bien pour ça que ça doit pas le faire .... et tu fais bien de proposer ce test a Nico .. du coup :mrgreen: :)

il suffit que certaines carte graphique renvoient une couleur differente que celle de ta variable, et t'es dans les choux :)

alors que ma procedure , elle s'adapte :)

boude pas !!


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 11:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9027
Code:
il suffit que certaines carte graphique renvoient une couleur differente que celle de ta variable, et t'es dans les choux

C'est exactement ce que je me suis dit. Je me suis aussi d'y que la résolution ecran et affichage pouvaient peut-être faire en sorte que le pixel sélectionné ne soit pas le bon..

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 12:51 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3702
Bon ben j'attend la 0.6.5, elle arrive quand :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 16:01 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9027
Dès que je peux ! :twisted:

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 17:44 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9027
Voilà la version pour Nico.
J'ai remanié la proce en capturant les pixels (sans valeur par defaut).
Un Messagerequester apparait pour afficher les couleurs des 2 pixels et voir leur correspondance

http://stock.ldvmultimedia.com/AR-S%20Stream_Radio.rar

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Dernière édition par Ar-S le Lun 09/Déc/2013 20:43, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 18:37 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3702
Ton lien est mort.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 18:44 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14534
il est en forme le Ar-s :lol:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 19:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3702
Bon j'ai compris que le lien était en fait:
http://stock.ldvmultimedia.com/AR-S%20Stream_Radio.ra

et là ça fonctionne!

[EDIT]
Je viens de faire des tests plus poussés, et on se rend compte que ta procédure ne sert à rien et du coup ça peut ne pas fonctionner.
Je m'explique: si je lance ton programme et que je met une fenêtre aussitôt par dessus, la valeur de comparaison des pixels restent bonne mais ne correspondent pas à ta fenêtre mais à celle qui est au dessus, du coup pas de spectrum. Tu dois récupérer la valeur de pixel de ton écran mais aussi celle de ta fenêtre pour la comparaison.


Peux tu poster ta procédure, je vais te la modifier!


Dernière édition par nico le Lun 09/Déc/2013 19:55, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 19:48 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3702
Je crois que le mieux serait de rester fonctionnel et de faire:
Focus = Spectrum
Perte de Focus = disparition du Spectrum
Premier Plan = Spectrum

Parce que là tu t'es embarqué dans un truc foireux.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 20:51 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9027
Pour le moment je n'ai pas trouvé de pc ou la 0.6.4 ne fonctionne pas, ça aide pas non plus 8) ...

voilà la procédure
P.S : Creation est une global.b

Code:
   
Procedure CheckRecouvre()
   Static CouleurCible1.i , CouleurCible2.i
      
      PosX   =   WindowX(#LDVM)
      PosY   =   WindowY(#LDVM)
      
      If Flag = 0
         SetActiveWindow(#LDVM)
         CouleurCible1.i = Pxlcolor(PosX + 14, posY + 84)
          CouleurCible2.i = Pxlcolor(PosX + WindowWidth(#LDVM)-7, posY + 36)
         Flag +1
      EndIf
               
      If Pxlcolor(PosX + 14, posY + 84) <> CouleurCible1  And Pxlcolor(PosX + WindowWidth(#LDVm)-7, posY + 36) <> CouleurCible2

            If creation = 0
                  DestroyOWS() ; macro du closescreen()
                  Creation = 1 ; Pour ne pas refermer la fenêtre vu qu'elle est déjà fermée
            EndIf
            Debug "FENETRE CACHEE"
      Else
            If Creation = 1
                  CreaOWS() ; macro de l'openwindowsScreen()
                  CreaSPRITE() ; Macro de La creation de sprite
                  Creation = 0 ; Pour ne pas recréer la fenêtre et les sprites vu qu'ils sont crées
                  SetActiveWindow(#ldvm)
            EndIf
            
            Debug "FENETRE VISIBLE"   
      EndIf
      
      ProcedureReturn Creation
      
EndProcedure

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 21:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3702
Elle est ou cette procedure: Pxlcolor


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 22:51 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9027
Ooouupps
Code:
Procedure Pxlcolor(X,Y)
   handle=GetDC_(GetDesktopWindow_())
   couleur=GetPixel_(handle,X,Y)
   ReleaseDC_(GetDesktopWindow_(),handle )
   ProcedureReturn couleur
EndProcedure

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 23:20 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14534
...


Dernière édition par Backup le Mar 19/Aoû/2014 9:54, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 23:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 0:57
Messages: 3702
J'espère n'avoir rien oublié:

Code:
Procedure.l PxlcolorWindow(window.i, x.l, y.l)
  Protected Color.l = -1
 
  If StartDrawing(WindowOutput(window))   
    Color = Point(x, y)
    StopDrawing()
  EndIf
 
  ProcedureReturn Color
EndProcedure


Procedure.l PxlcolorDesktop(x.l, y.l)
  Protected Hdc.i, color.l = -1, Handle.i
 
  Handle = GetDesktopWindow_()
  If Handle <> 0
    Hdc=GetDC_(Handle)
    If Hdc <> 0
      color=GetPixel_(Hdc, x, y)
      ReleaseDC_(Handle, Hdc)
    EndIf
  EndIf
 
  ProcedureReturn color
EndProcedure


Procedure CheckRecouvre()
  Protected PosX.l, PosY.l, CouleurDesktop1.l , CouleurDesktop2.l
  Static CouleurWindow1.l , CouleurWindow2.l
 
  PosX   =   WindowX(#LDVM)
  PosY   =   WindowY(#LDVM)
 
  If Flag = 0
    CouleurWindow1 = PxlcolorWindow(#LDVM, PosX + 14, posY + 84)
    CouleurWindow2 = PxlcolorWindow(#LDVM, PosX + WindowWidth(#LDVM)-7, posY + 36)
    If CouleurCible1 <> -1 And CouleurCible2 <> -1
      Flag +1
    EndIf
  EndIf
 
 
  CouleurDesktop1 = PxlcolorDesktop(PosX + 14, posY + 84)
  CouleurDesktop2 = PxlcolorDesktop(PosX + WindowWidth(#LDVm)-7, posY + 36)
 
 
  If  CouleurDesktop1 <> CouleurWindow1  And  CouleurDesktop2 <> CouleurWindow2 And CouleurDesktop1 <> -1 And CouleurDesktop2 <> -1
   
    If creation = 0
      DestroyOWS() ; macro du closescreen()
      Creation = 1 ; Pour ne pas refermer la fenêtre vu qu'elle est déjà fermée
    EndIf
    Debug "FENETRE CACHEE"
  Else
    If Creation = 1
      CreaOWS() ; macro de l'openwindowsScreen()
      CreaSPRITE() ; Macro de La creation de sprite
      Creation = 0 ; Pour ne pas recréer la fenêtre et les sprites vu qu'ils sont crées
      SetActiveWindow(#ldvm)
    EndIf
   
    Debug "FENETRE VISIBLE"   
  EndIf
 
  ProcedureReturn Creation
 
EndProcedure 


Dernière édition par nico le Lun 09/Déc/2013 23:46, édité 5 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: ~ STREAM RADIO ~ v 0.6.4
MessagePosté: Lun 09/Déc/2013 23:34 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6872
Localisation: IDF (Yvelines)
j'espérer que la correction de Nico pourra satisfaire Ar-S.

Je propose une autre solution qui consiste à connaitre l'application qui est au premier plan et est ce que cette application recouvre totalement la radio. Cette solution utilise des API Windows
Code:
Enumeration
  #Mainform
  #ForeGroundApplication
EndEnumeration

Define.l Event, GEvent, TiEvent

Structure Process
  ExeName.s
  Left.i
  Top.i
  Width.i
  Height.i
EndStructure

Global NewList Applications.Process()

Procedure.s ListWindows(hwnd,Param)
  Protected Buffer.s
 
  If GetWindowLong_(hwnd, #GWL_EXSTYLE) ! #WS_EX_TOOLWINDOW And GetWindowLong_(hwnd, #GWL_STYLE) & #WS_VISIBLE
    Buffer = Space(250)
   
    GetWindowText_(hwnd, Buffer, 250)
    GetWindowRect_(hWnd, rc.RECT)
   
    If Buffer<>"" And Buffer <> "Démarrer"
      AddElement(Applications())
      Applications()\ExeName = Buffer
      Applications()\Left = rc\left
      Applications()\Top = rc\top
      Applications()\Width = rc\right - rc\left
      Applications()\Height = rc\bottom - rc\top
    EndIf
   
  EndIf
 
EndProcedure

Procedure Open_MainForm()
  OpenWindow(#Mainform, 0, 0, 465, 80, "Ar-S Radio", #PB_Window_SystemMenu)
  TextGadget(#ForeGroundApplication, 10, 10, 400, 20, "")
  AddWindowTimer(#Mainform, 100, 500)
EndProcedure
 
Open_MainForm()

Repeat
  Event  = WaitWindowEvent(10)
  GEvent = EventGadget()
  TiEvent = EventTimer()
 
  Select Event
    Case #PB_Event_Timer
      Select TiEvent
        Case 100
          ClearList(Applications())
          EnumChildWindows_(FindWindow_("ToolbarWindow32",0),@ListWindows(),0)
          FirstElement(Applications())
          With Applications()
            SetGadgetText(#ForeGroundApplication, Str(n)+" - "+\ExeName + " Left: "+\Left + " Top: "+\Top + " Width: "+\Width + " Height: "+\Height)
            If \ExeName <> "Ar-S Radio"
              If WindowX(#Mainform)>=\Left And WindowX(#Mainform)<=\Left+\Width
                If WindowY(#Mainform)>=\Top And WindowY(#Mainform)<=\Top+\Height
                  MessageRequester("Information","J'ai été recouvert par "+\ExeName)
                EndIf
              EndIf
            EndIf
          EndWith
   
      EndSelect
       
    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Lancer ce code et cliquer ensuite sur une autre application. Vous verrez que le nom de l'application active s'affiche avec ses coordonnées. Essayez ensuite de recouvrir la fenêtre de test avec l'application active. Une boite d'information vous informera que la fenêtre de test a été recouverte.

_________________

➽ Config PureBasic : Windows 10 Version 64 Bits - DirectX 11 - PB 5.72

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 166 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7 ... 12  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye