Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Open/close programa (Borland c++ builder)

[es] :: C++ programiranje :: Open/close programa (Borland c++ builder)

[ Pregleda: 1764 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ucim_pomalo

Član broj: 29748
Poruke: 5
*.as.ka.bih.net.ba.



Profil

icon Open/close programa (Borland c++ builder)30.08.2005. u 19:05

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.
30.08.2005. u 19:05 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 3396
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Open/close programa (Borland c++ builder)30.08.2005. u 20:19
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.



FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
30.08.2005. u 20:19 

itf
Zagreb

Član broj: 59794
Poruke: 778
*.bar.novatv.hr.

ICQ: 337738018


Profil

icon Re: Open/close programa (Borland c++ builder)30.08.2005. u 21:39
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



[Ovu poruku je menjao itf dana 30.08.2005. u 22:44 GMT+1]
30.08.2005. u 21:39 

Miloš Vukotić
Podgorica

Član broj: 7996
Poruke: 485
195.66.163.*



Profil

icon Re: Open/close programa (Borland c++ builder)31.08.2005. u 07:58
Potrazi SHELLEXECUTEINFO & WaitForSingleObject u helpu & na netu...
31.08.2005. u 07:58 

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 3396
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Open/close programa (Borland c++ builder)31.08.2005. u 08:46
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...

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
31.08.2005. u 08:46 

[es] :: C++ programiranje :: Open/close programa (Borland c++ builder)

[ Pregleda: 1764 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.