Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 4.302 pregleda

Najnovija ↓

Open/close programa (Borland c++ builder) 30.08.2005. u 20:05 · pre 257 meseci #1
Radim neku aplikaciju u Borland C++ Builderu i potrebno mi je dan npr. klikom na dugme otvorim neku drugi program npr. winamp. Pokusavao sam na razne nacine preko CreateProcess ili ShellExecute i sl. I uspijem pokrenuti zeljeni program.

No takodje zelim da npr. klikom na neko drugo dugme zatvorim taj pokrenuti program, to nikako ne uspijevam.

Da li bi mi neko mogao pomoci, posto mi je ovo jako potrebno.

Hvala svima, unapred.
Re: Open/close programa (Borland c++ builder) 30.08.2005. u 21:19 · pre 257 meseci #2
ShellExecute() ti (mislim) nece puno pomoci oko toga, mada mozda i moze nekim
malo zaobilaznim resenjem.

Bolje koristi CreateProcess() jer vraca Proces Handle, koji kasnije mozes da
prosledis za TerminateProcess().

E sad, to je ipak NASILAN nacin.

Microsoft umesto toga predlaze slanje WM_CLOSE poruke svim prozorima procesa.

Ako WinAmp, ima neke druge prozore (a mislim da ima) mozes koristiti:

EnumWindows() i GetWindowThreadProcessId()

...da otkrijes sve prozore koji pripadaju WinAmp-u (uporedjujuci ih sa ID-jem
procesa koji se takodje vraca sa CreateProcess(), a zatim ih pozatvaraj sve sa
SendMessage().

Otprilike tako, ako nesto nisam prevideo.


Re: Open/close programa (Borland c++ builder) 30.08.2005. u 22:39 · pre 257 meseci
izmenjeno 1 put, poslednji put itf 30.08.2005. u 22:44
  1. itf30.08.2005. u 22:44zapis iz teksta poruke
#3
Pojam "nasilno" općenito u informatici je meni zaista bezveze. Cijeli kompjuter je ništa drugo nego hrpa čipova i el. signala i NIKAD GA NE PERSONALIZIRAM. Još ga i dan-danas kad popi*dim puknem nogom kad mi na 3.0 GHz šteka WinAmp.

Ne jako. Naravno, ne zato što bi to njega zabolio, već što bi zabolilo moj novčanik
Re: Open/close programa (Borland c++ builder) 31.08.2005. u 09:46 · pre 257 meseci #5
Problem kod *nasilnog* zatvaranja moze biti u tome sto program ne stigne da
snimi neka poslednja stanja programa u Registry ili INI, i sl., pa se moze desiti
da program nakon sledeceg startovanja, na primer nema polozaj na kome ste
ga poslednji put ostavili...

Naravno, ovo je individualno za svaki program...

Dok se kod SendMessage() i WM_CLOSE (mislim) moze desiti da te program
pita "Do you realy want to close?", naravno ako je tako programiran i/ili podesen
OnClose() ili OnCloseQuery() dogadjaj...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme