Belka

0

Jak można sprawdzić czy dane okno ma swoją belkę na pasku zadań?---------------------------
Delphi 6

Pozdrówka

0

Belka ruleez, Kołodko feee :D

A wracając do pytania. Program jest na "belce" jeżeli w ExtendedStyle ma WS_EX_APPWINDOW i nie ma WS_EX_TOOLWINDOW. Zobacz ukrywanie aplikacji gdzieś w FAQu. Musisz odczytać uchwyt okna i sprawdzić ustawienia ExtendedStyle.--Jest jeszcze jeden błąd ... :)

--------------Blok reklamowy :) -----
kanał: #4programmers.net lub #4programmers
w sieci POLNet
serwer np.: warszawa.ircnet.pl

0

Jakoś nie mogę tego znaleźć w FAQu :( Poratowałbyś przykładem, jak to odczytać?---------------------------
Delphi 6

Pozdrówka

0

thenkles napisał:
Jakoś nie mogę tego znaleźć w FAQu :( Poratowałbyś przykładem, jak to odczytać?
&gt
ExtendedStyle:=GetWindowLong(Application.Handle, GWL_EXSTYLE);
SetWindowLong(Application.Handle,GWL_EXSTYLE,ExtendedStyle or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);

Tak to się ustawiało, żeby jej nie było widać. Więc chyba odczytuje tak:
ExtendedStyle:=GetWindowLong(UchwytOkna, GWL_EXSTYLE);
if (ExtendedStyle and WS_EX_APPWINDOW)&lt&gt0 then ShowMessage('Aplikacja na belce');--Jest jeszcze jeden błąd ... :)

--------------Blok reklamowy :) -----
kanał: #4programmers.net lub #4programmers
w sieci POLNet
serwer np.: warszawa.ircnet.pl

0

Jak już mówiłem: "Ja się tak łatwo nie poddaję". Tu jest kod pokazujący programy, które są umieszczone na pasku zadań. Jak coś jeszcze nie będzie działać to... :[[ wywalę monitor przez okno. :D

procedure TForm1.Button1Click(Sender: TObject);
function EnumWindowProc(hHandle : HWnd; P : Pointer) : Boolean; stdcall;
var
WinName : array[0..144] of Char; * tutaj jest nazwa okna
Styl:longint;
begin
Result := True;
if IsWindow(hHandle) then
if IsWindowVisible(hHandle) then
if IsWindowEnabled(hHandle) then begin
Styl:=GetWindowLong(hHandle,GWL_EXSTYLE);
if (WS_EX_TOOLWINDOW and Styl)=0 then begin
Styl:=GetWindowLong(hHandle,GWL_STYLE);
if ((WS_POPUP and Styl)=WS_POPUP)or(((WS_POPUP or WS_CHILD or WS_MINIMIZE) and Styl)=WS_MINIMIZE)or(((WS_CLIPCHILDREN or WS_MINIMIZE) and Styl)=0) then begin
GetWindowText(hHandle, WinName, 144); {pobieranie nazwy kolejnego okna }
Form1.ListBox.Items.Add(StrPas(WinName)); * dodaj do komponentu
end;
end;
end;
end;
begin
EnumWindows(@EnumWindowProc, 0);
end;
--Jest jeszcze jeden błąd ... :)

--------------Blok reklamowy :) -----
kanał: #4programmers.net lub #4programmers
w sieci POLNet
serwer np.: warszawa.ircnet.pl

1 użytkowników online, w tym zalogowanych: 0, gości: 1