[ IDE @ 09.07.2006. 14:55 ] @
kakao dobiti da se pojavi Application->MessageBoxA("text","text") ali da se ne cuje nikakav zvuk??
[ M a t r i x @ 10.07.2006. 11:42 ] @
Jednostavno prije poziva API MessageBoxA,promjeni registry u kome je smjestena staza do default zvuka
(Windows XP Ding.wav) ili jednostvavno je privremeno obrisi i nakon zatvaranja MessageBoxA ,ponovo
vrati defaltnu vrijednost u registry.

Registry staza na Windows XP:

[HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\.Default\.Current]
@="Windows XP Ding.wav"

[ tosa @ 10.07.2006. 12:52 ] @
To će raditi ali je vrlo "hacky". Time nećeš proći WHQL (što te verovatno i ne zanima).
Ono što bih ti savetovao je da koristiš MessageBox bez "A" na kraju i da stringove
umotavaš u TEXT makro. Time ćeš kasnije moći lako da promeniš jezik koji koristiš.
Code:
MessageBox(TEXT("bla"),TEXT("bla"));

[ M a t r i x @ 10.07.2006. 13:08 ] @
Citat:
tosa: To će raditi ali je vrlo "hacky". Time nećeš proći WHQL (što te verovatno i ne zanima).
Ono što bih ti savetovao je da koristiš MessageBox bez "A" na kraju i da stringove
umotavaš u TEXT makro. Time ćeš kasnije moći lako da promeniš jezik koji koristiš.
Code:
MessageBox(TEXT("bla"),TEXT("bla"));



MessageBox Ne-postoji to je ALIAS za MessageBoxA i MessageBoxW zavisno od toga
da li je postavljena UNICODE direktiva(MS VC++).Inace su ovi api dio user32.dll
biblioteke.
[ stargazer @ 11.07.2006. 01:27 ] @
@Matrix :
Smatram da je užasna programerska praksa ljudima preporučivati da brčkaju korisniku po registru ako to nije neophodno.

@voodoo :
Uvek možeš da napraviš sopstveni dialog koji bi simulirao ponašanje MessageBox funkcije, ako ti je već potrebno da ne ide nikakav zvuk uz.

Takođe bih i ja savetovao upotrebu MessageBox bez sufiksa zbog portovanja sa ANSI na Unicode i obrnuto, kao i upotrebu TEXT makroa.
[ M a t r i x @ 11.07.2006. 07:16 ] @
Citat:
stargazer: @Matrix :
Smatram da je užasna programerska praksa ljudima preporučivati da brčkaju korisniku po registru ako to nije neophodno.

@voodoo :
Uvek možeš da napraviš sopstveni dialog koji bi simulirao ponašanje MessageBox funkcije, ako ti je već potrebno da ne ide nikakav zvuk uz.

Takođe bih i ja savetovao upotrebu MessageBox bez sufiksa zbog portovanja sa ANSI na Unicode i obrnuto, kao i upotrebu TEXT makroa.




Slazem se ,ali covjek je trazio rijesenje.On sigurno zna da moze napraviti sopstveni dijalog.
Ovo nije prckanje,kako ti kazes vec privremena izmjena,isto onako kao sto vi postavljate
programe u startup listu,neophodno je izvrsiti promjenu da bi se to desilo,jer registry nije
nikakva sveta stvar,on i sluzi za to.
[ IDE @ 11.07.2006. 08:40 ] @
Hvala vam svima na odgovoru.
Smatram da nije bas pametno prckati po registry-ju svaki put kada se treba pojaviti poruka, iako bi to mozda i radilo.
Ovako cu napraviti sopstveni dialog za ovo...
[ tosa @ 11.07.2006. 11:01 ] @
Citat:
M a t r i x: Ovo nije prckanje,kako ti kazes vec privremena izmjena,isto onako kao sto vi postavljate
programe u startup listu,neophodno je izvrsiti promjenu da bi se to desilo,jer registry nije
nikakva sveta stvar,on i sluzi za to.

Nije prčkanje nego hackorama ;)
My eyes, they burn!
[ NastyBoy @ 12.07.2006. 03:18 ] @
Citat:
Ovo nije prckanje,kako ti kazes vec privremena izmjena,isto onako kao sto vi postavljate
programe u startup listu,neophodno je izvrsiti promjenu da bi se to desilo,jer registry nije
nikakva sveta stvar,on i sluzi za to.


Privremena izmena? Koja vazhi za svaku aplikaciju od tog trenutka? I don't think so. Ovo je jako losha ideja.

Postoji neshto shto se zove "Human Interface Guidelines" kog imaju sve kompanije koje ulazhu u user-interface. Taj zvuk je tu iz veoma dobrog razloga (barem kod Windowsa. Kod, recimo, Mac-a taj zvuk nije potreban jer se pazhnja korisnika skrece vrlo efektnim grafichkim cakama). Jedino pravo reshenje je da razvijesh svoj custom dijalog, koji bi shto vishe lichio na "pravi" da ne bi zbunjivao korisnika, jer nema nishta gore od gomile "skinovanih" programa gde na svaki morash ponovo da se navikavash.
[ z@re @ 13.07.2006. 01:41 ] @
Nema "ciste" metode. Samo trigerranje messageboxa iz API-ja ce povuc pustanje zvuka koje se definira kroz onaj applet u Control Panelu.
[ Kretosh @ 13.07.2006. 21:59 ] @
U Win32 moze se uraditi sa MessageBoxA(hWnd,"Text","Text",96)
Ne znam u kom hederu je definisamo ovih 96,mrzi me da trazim.
Nisam probao ali onda verovatno i u MFC moze sa MessageBoxA("Text","Text",96) .
[ savkic @ 14.07.2006. 15:03 ] @

> kakao dobiti da se pojavi Application->MessageBoxA("text","text") ali da se ne cuje nikakav zvuk??

Možeš pomoću MessageBoxIndirect funkcije sa MB_USERICON flagom.

> U Win32 moze se uraditi sa MessageBoxA(hWnd,"Text","Text",96)
> Ne znam u kom hederu je definisamo ovih 96,mrzi me da trazim.

96 je kombinacija nekoliko parametara, npr. MB_ICONASTERISK i MB_ICONQUESTION.