Uruchamianie w trybie zminimalizowanym

0

Jak zrobić Aplikacje Konsolową która uruchamiała by się
Od razu jako zminimalizowana?

piechnat

0

Hmm.. a co to za problem?
Jak powszechnie wiadomo aplikacja konsolowa to ta bez formy. To chyba umiesz. Zminimalizowanie to dodanie linijki Application.Minimize;

Gdyby jeszce jakieś arcytrudne problemy, to prosze ;-)

,tradycyjnie pozdrawiam Numi.

0

Numi napisał:
Hmm.. a co to za problem?
&gtJak powszechnie wiadomo aplikacja konsolowa to ta bez formy. To chyba umiesz. Zminimalizowanie to dodanie linijki Application.Minimize;
&gt
&gtGdyby jeszce jakieś arcytrudne problemy, to prosze ;-)
&gt
&gt,tradycyjnie pozdrawiam Numi.

Niemogę użyć Application.Minimize; bo to jest w module który powiększa
program o jakieś 200 KB

0

Ostatnio slyszalem, że optymalizacja kodu w d6 dziala bardzo sprawnie... Z dolaczonego modulu importuje do execa tylko uzywane procedury...reszty nie.

Jest jeszcze procedura ShowWindow - poczytaj o niej w helpie--Delphi 5

Pozdrawiam

0

dchcorp napisał:
Ostatnio slyszalem, że optymalizacja kodu w d6 dziala bardzo sprawnie... Z dolaczonego modulu importuje do execa tylko uzywane procedury...reszty nie.
&gt
&gtJest jeszcze procedura ShowWindow - poczytaj o niej w helpie

Jakoś mi to nie wychodzi, po prostu procedura Minimize
odwołuje się do zbyt wielu elementów z tego modułu,
a kiedy kopiuje się następne elementy które odwołują się
do jeszcze innych to wszystko zabardzo się komplikuje hmm...

piechnat

0

A czy wystarczy Ci zminimalizowac aplikacje natychmiast po starcie? Pojawi sie, ale na moment.

program Project2;

{$APPTYPE CONSOLE}
uses
Windows;

{$R *.res}
var
uchwyt:Cardinal;
dane: WINDOWPLACEMENT;

begin
uchwyt:=FindWindow(nil, 'Project2');
dane.length:=SizeOf(dane);
GetWindowPlacement(uchwyt,@dane);
{^tak odczytuje oryginalne wspolrzedne, mozesz pominac jesli nie bedzie restore}
dane.flags:=0;
dane.showCmd:=6; //SW_MINIMIZE
{jesli chcesz wpisac SW_MINIMIZE musisz dac uses Messages co
zwieksza rozmiar tego programu z 11 do 12 KB}
SetWindowPlacement(uchwyt, @dane);
read(uchwyt);

end.
--Pawel

Delphi6

0

Dzięki za wysiłek z twojej strony, ale to chyba u mnie nie działa
Może dla tego że mam Windows NT 2000, a wnim z okinkami dosowymi wszystko
jest nie tak jak trzeba, a może źle używam tej procedury.

ale i tak dziękuję...
poradzę sobie jakoś inaczej...
piechnat

0

piechnat napisał:
Dzięki za wysiłek z twojej strony, ale to chyba u mnie nie działa

to dziwne. W FindWindow zamiast Project2 musi byc nazwa Twojego programu - to co sie pokazuje w pasku tytulowym okienka windy. No ale jak nie dziala to nie dzila. szkoda. nie mam niestety mozliwosci zeby pobrowac pod NT :((--Pawel

Delphi6

0

Przetestowałem powyższy kodzik i stwierdam że on działa mam Winde XP. U mnie jak sie pojawia aplikacja konaolowa to w polu caption ma wpisaną scierzke tak wiec FindWindow(nil, 'TwojaScirzkaDoProjektu \NazwaProjektu.exe'); {browar}
--Pozdrowienia {hello}
Chodek ;)
Delphi 6

0

Chodek napisał:
Przetestowałem powyższy kodzik i stwierdam że on działa mam Winde XP.

Ciesze sie!!!

U mnie jak sie pojawia aplikacja konaolowa to w polu caption ma wpisaną scierzke tak wiec FindWindow(nil, 'TwojaScirzkaDoProjektu \NazwaProjektu.exe'); {browar}

Moze wiec trzeba uzaleznic parametr FindWindow od wykrytej wersji windy albo sprobowac sama nazwe i sciezke z nazwa i sprawdzic, ktore zwroci niezerowy uchwyt.--Pawel

Delphi6

0

Dzięki, rzeczywiście teraz już działa {brawo}
no i przyda mi się to bardzo bo zawsze
miałem problemy z uchwytem
do programów dosowych.

piechnat

0

Jakbys potrzebowal znalezc uchwyt do okna, ktorego tytulu znasz tylko czesc, to zajrzyj tu:

http://www.4programmers.net/forum/index.php?action=show&id=6197--Pawel

Delphi6

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