Masquer un programme dans la barre des taches

Programmation d'applications complexes
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Masquer un programme dans la barre des taches

Message par Le Soldat Inconnu »

Comment masqué un programme dans la barre des taches sachant que ce programme n'est pas de moi et que je vais simplement l'utiliser. pour cela, ce serait mieux si je pouvais caché ce prog dans la barre des taches.
mais j'ai pas trouvé

vous créer tout d'abord un exe avec le code suivant : (en le nommant Test.exe)

Code : Tout sélectionner

OpenWindow(0, 0, 0, 200, 200, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget, "Test " + ProgramParameter())
CreateMenu(0, WindowID())
MenuTitle("Fichier")
MenuTitle("Affichage")

Repeat
  Event = WaitWindowEvent()
Until Event = #wm_close
et vous lancé celui-ci :

Code : Tout sélectionner

RunProgram("Test.exe", "1", "")
Repeat
  WindowE1 = FindWindow_(vbNullString, "Test 1")
Until WindowE1 <> 0
ShowWindow_(WindowE1, #SW_HIDE)
SetWindowLong_(WindowE1, #GWL_EXSTYLE, GetWindowLong_(WindowE1, #GWL_EXSTYLE) | #WS_EX_TOOLWINDOW)
ShowWindow_(WindowE1, #SW_SHOW)

repeat
  Event = waitwindowevent()
until Event = #wm_close
et ça marche pas, ouin :cry:
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)]
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ben moi, je t'ai trouvé ça, mais je ne pense pas que ce soit ce que tu cherches.

En fait j'ai pas l'impression d'avoir bien compris ce que tu veux faire :oops:

Code : Tout sélectionner

Enumeration
  #Window_0
EndEnumeration

If OpenWindow(#Window_0, 100, 100, 100, 100, #PB_Window_Invisible, "",0)
  
  RunProgram("Test.exe", "1", "") 
  Repeat 
    WindowE1 = FindWindow_(#Null, "Test 1") 
  Until WindowE1 <> 0 
  
  If WindowE1
    GetWindowRect_(WindowE1,@R.RECT)
    Width = R\right - R\left
    Height = R\bottom - R\top
    
    OldStyle = GetWindowLong_(WindowE1, #GWL_EXSTYLE)
    NewStyle = OldStyle|#WS_EX_TOOLWINDOW
    SetWindowLong_(WindowE1, #GWL_EXSTYLE, NewStyle)
    MoveWindow_(WindowE1,R\left+1,R\top,Width,Height,#True)
    ShowWindow_(WindowE1,#SW_MINIMIZE)
    ;ShowWindow_(WindowE1, #SW_HIDE)
  EndIf

  
  Repeat
    Select WaitWindowEvent()
    EndSelect
  Until quit = 1
  End
EndIf
(Pour SetWindowLong(), ta fonction était bonne, mais je l'ai décomposée, plus par confort personnel qu'autre chose) :lol:

Chris :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Danilo a mis du code pour ça sur le forum anglais (3 ou 4 procédures) qui utilise CallCom je crois.

A voir si tu peux l'utiliser ou l'adapter.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

j'ai utilsé le même truc que toi, Chris, ce que je comprends pas, c'est que sur win98, ça ne marchait pas

une autre question, on fait comment pour retirer les bords ?
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)]
Répondre