CONTROLANDO DLL

USUARIO.EXCLUIDOS 18/04/2004 02:50:32
#21155
Ae, por exemplo, para todar um som no PC, basto chamar uma DLL, como no exemplo;

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long


Mas, como se descobriu os valores " lpszSoundName " e " uFlags" ???

o máximo que consigo é ver o nome "sndPlaySoundA" no programa Dependency Walker...



O que queria era, pegar uma DLL e usá-la.
Se alguém souber, por favor me avise..

Flows,
USUARIO.EXCLUIDOS 18/04/2004 11:34:27
#21180
Resposta escolhida

A documentação de APIs pode ser obtida diretamente dos HELPs do Visual Studio e a declaração das APIs e valores constantes pode ser obtidas atraves do "API Text Viewer" ou atraves da edição do arquivo win32API.txt localizado no diretório "C:\Program Files\Microsoft Visual Studio\Common\Tools\Winapi". Outra forma seria pesquisar no site www.mentalis.org e baixar o API Guide que alem de possuir o mesmo HELP e constantes citados acima, tambem sempre vem acompanhado de um pequeno exemplo.

- lpszSoundName: Uma string que especifica o nome do arquivo de som, por exemplo "C:\WINNT\Media/ding.wav. Esse parà¢metro tambem pode ser uma entrada de registro ou no arquivo WIN;INI que identifique um som do sistema, ou ainda o nome de um arquivo .WAV, se a função não encontrar essa entrada no registry e no no WIN.INI ela é tratada como o nome de um arquivo.
Se esse parametro for um NULL (ByVal 0& no Visual Basic) o som que estiver tocando sera encerrado.

- uFlags: Flags para tocar o som.
SND_ASYNC: O som é tocado de forma assincrona a a função retorna imediatamente após o inicio do som. Para terminar basta chamar a função sndPlaySound novamente com lpszSoundName igual a NULL.
SND_LOOP: O som toca repetodamente até que sndPlaySound seja chamado novamente com lpszSoundName igual a NULL. Você deve tambem especificar SND_ASYNC para o som ficar em loop.
SND_MEMORY: O parametro especificado em lpszSoundName aponta para uma imagem (cópia) de um som wave em memória.
SND_NODEFAULT: Se o som não foi encontrado, a função retorna de fora silenciosa sem tocar o som default.
SND_NOSTOP: Se houver algum som tocando, a função imediatamente retorna FALSE, sem tocar o som requisitado.
SND_SYNC: O som toca de forma sincrona e a função não retorna até que o som termine.

Abaixo tem os valores das constantes obtidas pelo API Text Viewer:

' flag values for uFlags parameter
Const SND_SYNC = &H0 ' play synchronously (default)
Const SND_ASYNC = &H1 ' play asynchronously

Const SND_NODEFAULT = &H2 ' silence not default, if sound not found

Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry
Const SND_FILENAME = &H20000 ' name is a file name
Const SND_RESOURCE = &H40004 ' name is a resource name or atom
Const SND_ALIAS_ID = &H110000 ' name is a WIN.INI [sounds] entry identifier

Const SND_ALIAS_START = 0 ' must be 4096 to keep strings in same section of resource file

Const SND_LOOP = &H8 ' loop the sound until next sndPlaySound
Const SND_NOSTOP = &H10 ' don't stop any currently playing sound
Const SND_VALID = &H1F ' valid flags / ;Internal /

Const SND_NOWAIT = &H2000 ' don't wait if the driver is busy

Const SND_VALIDFLAGS = &H17201F ' Set of valid flag bits. Anything outside
' this range will raise an error
Const SND_RESERVED = &HFF000000 ' In particular these flags are reserved

Const SND_TYPE_MASK = &H170007

Tópico encerrado , respostas não são mais permitidas