Okienko DOSa > > > Jak ukryc?? [???]

0

Witam!

Moj problem polega na konsoli. Otoz pisze wlasnie progsa ktory bedzie sie otwieral w oknie DOSa, ale niechce zeby po otwarciu go bylo to okno widac. Probowalem kodu takiego jak:


procedure koniec(okno:string);  //procedura zamykaj?ca podane okno
var
  window:hwnd;
  petla:integer;
begin
  petla:=0;
  repeat
   window:=findwindow(Pchar(okno),nil);
   if window<>0 then
   begin
     postmessage(window,WM_QUIT,0,0);
     sleep(100);
     inc(petla);
   end;
  until (window=0) or (petla>10);
end;

ale po skompilowaniu okno DOSa ciagle sie pojawia :( Niemam zielonego pojecia dlaczego [???] Czy do okienek ktore otwieraja sie w DOSie trzeba innego kodu czy jak??

Z gory dzieki za odp</delphi>

0

Wnioskując z kodu, piszesz w Delphi. Są co najmniej dwa rozwiązania twojego problemu (a, i jeśli to windows to jakie okno dos??):

  1. Jeśli chcesz po prostu, żeby program nie miał ani okna, ani konsoli, to usuń z kodu programu (Project1.dpr, czy jak mu tam) linię {$APPTYPE console}.
  2. Jeśli chcesz ukryć konsolę, to użyj funkcji FreeConsole (unit Windows) i jeśli chcesz ją znowu pokazać (w rzeczywistości to jest zwalnianie i przydzielanie nowej...) to użyj funkcji AllocConsole. Opis w MSDN.

PS: w dos'ie raczej żadne okienka się nie otwierają :]

0

Wszystko ladnie pieknie tylko ze nic nie dziala hehe. Jak usune linie {$APPTYPE console} to wtedy sie nie skompiluje, a jak ukryje przez FreeConsole to sie skompiluje i zaraz po otwarciu wywala Error i sie zamyka aplikacja [sciana]

0

Dlaczego sie nie kompiluje?

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