Jak zrobić Aplikacje Konsolową która uruchamiała by się
Od razu jako zminimalizowana?
piechnat
Jak zrobić Aplikacje Konsolową która uruchamiała by się
Od razu jako zminimalizowana?
piechnat
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.
Numi napisał:
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.
Niemogę użyć Application.Minimize; bo to jest w module który powiększa
program o jakieś 200 KB
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
dchcorp napisał:
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
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
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
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
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
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
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
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
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
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.