Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Program Niewidoczny W Pasku ZadaĹ


Rekomendowane odpowiedzi

Opublikowano

Czy można tak zrobić, ażeby program (a właściwie jego GUI) nie pokazywało się jako następna aplikacja uruchomiona w pasku zadań?

qdf.jpg

 

I korzystając z okazji, zapytam czy można klikając ikonę w tray'u przywracać program (przenieść go na pierwszy plan - efekt jak WinActivate)

i usunąć domyślne "Script Paused" ? (to niekoniecznie)

Opublikowano

Poczytaj w Helpie. Od razu znajdziesz mnóstwo funkcji...

TrayCreateItem()
TrayCreateMenu()
TrayGetMsg()
TrayItemDelete()
TrayItemGetHandle()
TrayItemGetState()
TrayItemSetOnEvent()
TrayItemSetState()
TrayItemSetText()
TraySetClick()
TraySetIcon()
TraySetOnEvent()
TraySetPauseIcon()
TraySetState()
TraySetToolTip()

Opublikowano

Tu masz dokładnie:

Na usunięcie Script Paused

Opt("TrayMenuMode",1)

A tutaj na to, że jak klikniesz to pokazuje okienko programu ;)

#include <Constants.au3>
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",1)
$Form = GUICreate("Window", 100, 100)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "aa")
$exit = TrayCreateItem("Exit")

While 1
$msg = TrayGetMsg()
Switch $msg
Case $exit
	Exit
EndSwitch
WEnd

Func aa()
GUISetState(@SW_SHOW, $Form)
EndFunc

 

PS. dziób tukana

Fajne opowiadanie :P

Daj w spoiler bo się długo stronę przewija ;)

Opublikowano

Nie do końca mi o to chodziło... ale częściowo tak

 

hfaua - dostosowałem twoje wskazówki do mojego programu - przydały się.

 

o co mi chodziło:

Głównie o to, że ikona w tray'u miała być zamiast programu na pasku zadań.

Obojętnie czy program jest na tapecie czy nie, miał być niewidoczny w pasku zadań.

Dla przykładu podam gadu-gadu (dot. okna głównego) - mimo że jest na ekranie to nie ma go w pasku zadań.

 

Da się coś takiego zrobić ?

 

@edit

Dziób tukana - fajna historia, tyle że została ocenzurowana :(

Opublikowano

przypadkiem odnalazłem

 

jakby kogoś nurtował ten problem to tu jest rozwiązanie:

$Form = GUICreate("Form", 351, 65, 192, 121,Default,$WS_EX_TOOLWINDOW)

 

Aha, ten "Exit" w tray'u coś nie chce działać, ale w sumie może go nie być ;p

Opublikowano

To wcale nie jest rozwiązanie.

 

Ta opcja stylu tylko tworzy Tool Window... które ma mały pasek tytułu, nie można go resizeować, minimalizować, maksymalizować... Ogólnie do dupy.

 

To, co trzeba zrobić, to stworzyć główne okno jako Child inne, niewidocznego okna.

 

Wkleję kod w przeciągu trzech minut. Postaraj się o plusa i piątkę :P

 

@Edit:

 

$niewidoczne = GuiCreate("Niewidoczne")
$widoczne_nie_w_pasku = GuiCreate("Widoczne, ale nie w pasku", Default, Default, 100, 100, Default, Default, $niewidoczne)
$button = GUICtrlCreateButton("Pokaz okno, do ktorego to jest podpiete", 100, 100)
GuiSetState(@SW_SHOW, $widoczne_nie_w_pasku)

While True
Switch GuiGetMsg()
	Case $button
		GUISetState(@SW_SHOW, $niewidoczne)
	Case -3
		If Not WinActive($widoczne_nie_w_pasku) Then
			GuiSetState(@SW_HIDE, $niewidoczne)
		Else
			Exit
		EndIf
EndSwitch
WEnd

 

TA DAA!

 

@Edit2:

Jest trochę namieszane przy switch'u, ale wierzę, ogarniesz koncepcję ;]

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...