Page 1 sur 1

Masquer un programme dans la barre des taches

Publié : dim. 29/févr./2004 19:56
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:

Publié : dim. 29/févr./2004 21:13
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 :)

Publié : dim. 29/févr./2004 21:15
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.

Publié : mar. 02/mars/2004 9:14
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 ?