Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako sakriti prozor aplikacije?

[es] :: C/C++ programiranje :: Kako sakriti prozor aplikacije?

[ Pregleda: 2956 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

hninel
local

Član broj: 9446
Poruke: 34
80.65.91.*

Sajt: www..???


Profil

icon Kako sakriti prozor aplikacije?11.02.2005. u 14:31 - pre 232 meseci
Interesuje me kako pristupiti prozorima (windows) otvorenih aplikacija i po potrebi sakriti ih ili prikazati ikonicu prozora. Probao sam ovo sa EnumWindows() i EnumWindowsProc() i dobijem sve aplikacije a meni trebaju samo one koje imaju prozore...

Gledao sam neki primjer koji skriva taskbar i to radi pozivajuci:

Code:
ShowWindow(FindWindow("Shell_TrayWnd", NULL), SW_HIDE);

Znaci pristupa prozoru preko naziva klase prozora, a meni treba spisak svih prozora na desktopu koje onda mogu zasebno skrivati ili prikazivat.

Kako pristupiti desktopu i ikonama na njemu i kako ih sakriti.
Da li je potrebno koristiti GetDesktopWindow() ... i sta jos...

Mogu li ovo rijesiti VCL kontrolama u Borland c++ Builderu ili moram pozivati win API.
Ima li kakvih tutorijala ili tekstova na ovu temu gdje bi se mogao naci koji primjer...

Hvala!

//
...?

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Kako sakriti prozor aplikacije?11.02.2005. u 15:21 - pre 232 meseci
Ako koristis Borland C++ Builder 6, *o b a v e z n o* pogledaj:

[url]
http://www.sysinternals.com
[/url]

Imas primere (sa sve kodom) za mnoge sistemske enumeracije,
pa i za tvoj slucaj, i jos razvrstano po OS-u!

Bolje gledaj sam, nego da se 'mucimno' ovde.
 
Odgovor na temu

hninel
local

Član broj: 9446
Poruke: 34
80.65.91.*

Sajt: www..???


Profil

icon Re: Kako sakriti prozor aplikacije?13.02.2005. u 00:25 - pre 232 meseci
Koristio sam slijedeci kod:
Code:

void __fastcall TForm1::Button3Click(TObject *Sender)
{
 ListBox1->Clear();
 EnumWindows((WNDENUMPROC)EnumWindowsProc,(LPARAM)ListBox1);
}
//---------------------------------------------------------------------------

bool CALLBACK EnumWindowsProc(HWND hWnd, TListBox * ListBox1)
{
   char name[256];
   if(!GetWindow(hWnd, GW_OWNER))
  {
    GetWindowText(hWnd, name, 255);
    if (AnsiString(name).Trim() != EmptyStr)
       ListBox1->Items->Add(name);
  }
  return true;
}

Ovim kodom sam popunio ListBox. Dobio sam puno vise "prozora" nego sto ih imam otvorenih, tj. upisano je i ono sto stoji u tray-u i jos svega necega...

Pitanje: Kako da se rijesim svega osim prozora koji su otvoreni i kako da dobijem njihove ikonice, znaci da pored naziva stavim i ikonicu prozora u ListBox?

Pored svega ovoga probao sam da sakrijem neke od prozora koje sam dobio gornjim kodom, sto mi je uspjevalo no nije se skrivala ikonica na taskbaru (kao -> moglo se minimizirati i maximizirati no nema prozora). Koristio sam slijedeci kod:
Code:

void __fastcall TForm1::ListBox2DblClick(TObject *Sender)
{
  AnsiString Name = reinterpret_cast<TListBox*>(Sender)->Items->Strings[ListBox2->ItemIndex];
  HWND h = FindWindow(0, Name.c_str());
  ShowWindow(h, SW_HIDE);

}


Pitanje: Kako rijesiti da kad sakrije prozor da sakrije i ikonicu na taskbaru?

Hvala.

//
...?
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: Kako sakriti prozor aplikacije?13.02.2005. u 01:17 - pre 232 meseci
1. U callback-u za enumeraciju proveri prvo da li je prozor vidljiv (odnosno ima WS_VISIBLE svojstvo) WinAPI funkcijom BOOL IsWindowVisible(HWND).

Vishe o tome ovde : http://msdn.microsoft.com/libr...wfunctions/iswindowvisible.asp

2. Kako skloniti prozor iz TaskBar-a : http://www.codeproject.com/docview/notaskbaricon.asp
 
Odgovor na temu

[es] :: C/C++ programiranje :: Kako sakriti prozor aplikacije?

[ Pregleda: 2956 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.