/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
DirectSound - skal man oprette et vindue?
Fra : Jacob Jensen


Dato : 20-08-06 09:28

Når man bruger DirectSound skal man kalde:

IDirectSound8::SetCooperativeLevel

....lige efter man har oprettet en sekundær buffer.

Men denne funktion tager, som argument, et handle til applikationsvinduet.
Betyder det at man ikke kan bruge DirectSound i f.eks. et konsol-program?
Kan man evt. lave et windows-program og oprette et vindue, men så undlade at
vise det?

--
Jacob Jensen
E-mail: jacob@etlivmedsle.dk
Hjemmeside: www.etlivmedsle.dk



 
 
Bertel Brander (20-08-2006)
Kommentar
Fra : Bertel Brander


Dato : 20-08-06 13:21

Jacob Jensen wrote:
> Når man bruger DirectSound skal man kalde:
>
> IDirectSound8::SetCooperativeLevel
>
> ...lige efter man har oprettet en sekundær buffer.
>
> Men denne funktion tager, som argument, et handle til applikationsvinduet.
> Betyder det at man ikke kan bruge DirectSound i f.eks. et konsol-program?

Måske, det er ikke alle funktioner der tager et vindue som argument
der kræver et, MesssageBox virker fint uden et vindue, man sætter
bare HWND til 0

> Kan man evt. lave et windows-program og oprette et vindue, men så undlade at
> vise det?

Ja, du opretter bare et vindue på normal vis, uden at angive
WS_VISIBLE style og uden at kalde ShowWindow.

Der findes også noget kaldet "message-only window" som burde
kunne bruges, se:
http://windowssdk.msdn.microsoft.com/en-us/library/ms632679.aspx

Jeg har dog ikke prøvet dette og ved ikke om det kan bruges
i dit tilfælde.

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Jacob Jensen (20-08-2006)
Kommentar
Fra : Jacob Jensen


Dato : 20-08-06 14:07

> Måske, det er ikke alle funktioner der tager et vindue som argument
> der kræver et, MesssageBox virker fint uden et vindue, man sætter
> bare HWND til 0

Ok. Hvordan finder jeg mon ud af om det kræves her? Jeg vil tro det bruges i
dette tilfælde. DirectSound holder styr på hvilke rettigheder de forskellige
vinduer har bedt om at have.

> Ja, du opretter bare et vindue på normal vis, uden at angive
> WS_VISIBLE style og uden at kalde ShowWindow.

Vil jeg så eksempelvis kunne fange input-beskeder når blot konsolvinduet er
i forgrunden? Jeg kunne eksempelvis trykke s for at lukke programmet istedet
for CTRL+C.

Jacob



Bertel Brander (20-08-2006)
Kommentar
Fra : Bertel Brander


Dato : 20-08-06 16:18

Jacob Jensen wrote:
>> Måske, det er ikke alle funktioner der tager et vindue som argument
>> der kræver et, MesssageBox virker fint uden et vindue, man sætter
>> bare HWND til 0
>
> Ok. Hvordan finder jeg mon ud af om det kræves her? Jeg vil tro det bruges i
> dette tilfælde. DirectSound holder styr på hvilke rettigheder de forskellige
> vinduer har bedt om at have.

Man kunne prøve sig frem, eller benytte sig af den absolutte sidste
udvej: at kikke i dokumentationen.

>> Ja, du opretter bare et vindue på normal vis, uden at angive
>> WS_VISIBLE style og uden at kalde ShowWindow.
>
> Vil jeg så eksempelvis kunne fange input-beskeder når blot konsolvinduet er
> i forgrunden? Jeg kunne eksempelvis trykke s for at lukke programmet istedet
> for CTRL+C.

Det kommer lidt an på hvad du mener.
Du skal fange input beskeder på samme måde som uden vinduet.

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Jacob Jensen (21-08-2006)
Kommentar
Fra : Jacob Jensen


Dato : 21-08-06 09:11

> Man kunne prøve sig frem, eller benytte sig af den absolutte sidste
> udvej: at kikke i dokumentationen.

Dér har jeg skam været. Der står: "Handle to the application window." :)

> Det kommer lidt an på hvad du mener.
> Du skal fange input beskeder på samme måde som uden vinduet.

Jeg mener inde fra mit message-loop osv. som i et alm. window-program.

Jacob



Bertel Brander (21-08-2006)
Kommentar
Fra : Bertel Brander


Dato : 21-08-06 18:42

Jacob Jensen wrote:
>
>> Det kommer lidt an på hvad du mener.
>> Du skal fange input beskeder på samme måde som uden vinduet.
>
> Jeg mener inde fra mit message-loop osv. som i et alm. window-program.

Så skal du lave det som et windows vindue, det er ikke ret svært.

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste