C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[1160] 윈도우에 설치된 사운드장치명 combobox로 가져오기
박영목.월천 [gsbsoft] 7038 읽음    2015-02-13 06:43

//C++Builder 6.0

//이런 것... 거의 할 필요가 없는데...  사운드디바이스가 다수 있을 경우

//필요하겠지요.  이 새벽에 하고 있는 일이라...  VC++ 소스 있는 것 옮겨 보았습니다.

//별것 아닌 것인데...    개고생함.......



//---------------------------------------------------------------------------
#include <vcl.h>
#include <mmsystem.h>            //  <dsound.h> 보다 앞에 append
#include <dsound.h>               //  <------- append
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)

//dsound.lib 이것을 찾아 프로젝트에 붙이는 것이 제일 간단함...
//오늘은 그냥 나도 폼나게  #pragma link로 걸어보자 하다가 개고생...  ㅋㅋㅋ

//#pragma link "psdk/dsound.lib"  이렇게 넣으면 안됨, 이런 것은 당연히 되어야 하는 것 아닌가???

//이것에 대한 상세한 설명은 김태선님의
//http://kylix.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=866  참고하세요...

//경로 있는 것 Link 걸어줄 때는 절대 경로로....
#pragma link "c:/progra~1/borland/cbuilder6/lib/psdk/dsound.lib"    //<------- append

#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

static BOOL CALLBACK enum_sound_callback(const GUID* guid, const TCHAR* description,  const TCHAR* module, HWND list)
{
  int idx = SendMessage( list, CB_ADDSTRING, 0, (long)description );

  SendMessage( list, CB_SETITEMDATA, idx, (long)guid );

  return 1;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if( ComboBox1->Items->Count )
  {
    ComboBox1->Clear();
  }

  DirectSoundEnumerate((LPDSENUMCALLBACK)enum_sound_callback, (void*)ComboBox1->Handle );

  if( ComboBox1->Items->Count )
  {
    ComboBox1->ItemIndex = 0;
  }
}
//---------------------------------------------------------------------------


부산에서 월천 올렸습니다.
송신영 [palindrome]   2015-02-13 09:13 X
감사합니다. 잘 보았습니다.

+ -

관련 글 리스트
1160 윈도우에 설치된 사운드장치명 combobox로 가져오기 박영목.월천 7038 2015/02/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.