webForumDet fria alternativet

C#

10 svar · 526 visningar · startad av gucken

guckenMedlem sedan sep. 2001287 inlägg
#1

Tänkte skriva ett litet alarm som spelar upp ett ljud i c#. Ett pip, en mp3 eller wav spelare ingen roll. och jag får inte riktigt till det. Någon som har en hjälpande hand på traven den första sträckan?

Engine^Medlem sedan dec. 20003 887 inlägg
#2

En artikel om att spela upp wav: http://www.codeproject.com/cs/media/tonysound.asp

Mc FettoMedlem sedan nov. 20022 355 inlägg
#3

Du kan använda dig utav windows api:

[DllImport("winmm.dll")]
		public static extern long PlaySound(String lpszName, long hModule, long dwFlags);

Där du sedan anropar metoden med en sökväg till den ljudfil. Om du använder dig utav .NET 2.0 så har för mig att det finns en ny kontroll som sköter det hela men jag är inte säker.

guckenMedlem sedan sep. 2001287 inlägg
#4

--Edit--

Att poppa upp en messagebox gör man juh med

messagebox("text");

Men hur får man in radbrytningar i dom? /n vill inte riktigt fungera och jag hittar inte riktigt något riktigt svar.

JosefMedlem sedan mars 20023 561 inlägg
#5

Det ska vara \n.

guckenMedlem sedan sep. 2001287 inlägg
#6

Sånt där är nästan lite pinsamt, Men tack för svaret =)

För att minimera programmet till systray vid klockan så använder jag mig av följane kod

this.Hide();
            this.notifyIcon1.Visible = true;

Allt fungerar tipptopp utom det att programmet drar onödigt mycket minne. Offta mellan 6 - 10 000kb när det är minimerat till systray, Vanlig minimering hamnar det runt 1000kb.
Tycker det måste finnas bättre lösningar isf, det är juh inte rimligt att ett litet alarm på 100 rader kod drar 10mb minne bara för det ligger där.

Engine^Medlem sedan dec. 20003 887 inlägg
#7

Använder du VS, så kolla att du gör builden i release och inte debugläge.

guckenMedlem sedan sep. 2001287 inlägg
#8

Jag kör visual C# express 2005 beta 2 från http://lab.msdn.microsoft.com/vs2005/default.aspx
Debug buildsen hamnar i /bin/debug och riktiga i /bin/release.
Presis när programmet startar drar de 20mb minne!
Fattar inte varför, enda komponenter jag använder är en timer inställd på 1000ms / tick, en textbox, knapp och menyer.

-Edit-
Provade med att starta det i Visual studio 2003, blev tvungen att ändra några små saker men ingen större och det är samma sak där, både som debug och release.
Drar ca 20 000kb minne när det är startat, går ner till 1 000kb som minimerad och upp igen till ca 20 000kb när det är minimerat i systray.

Mc FettoMedlem sedan nov. 20022 355 inlägg
guckenMedlem sedan sep. 2001287 inlägg
#10

Det kan nog stämma att den räknar med redan befintliga processer, men den slukar iaf 20 nya mb med minne.
Om man sitter och tittar hur mycket totalt som är använt så hoppar den från 377 till 400 och stannar där i samma veva som jag startar programmet.

Löses inte detta blir det nog till att se sig om efter ett annat språk.

clarkbonesMedlem sedan feb. 20013 023 inlägg
#11

Det hjälper nog inte med något annat .NET-språk i a f, då de alla bygger på frameworket. Du får väl kika på Borland eller Visual Studio C++ 6.0 om det du anser det mödan värt.

262 ms totalt · 3 externa anrop · v20260731065814-full.30151723
134 ms — hämta forumlista (db)
125 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)