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.
//
...?