<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    在VC資源文件中加入聲音資源

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    本文介紹如何在VC資源文件中加入自己的聲音資源,使自己的應用程序可以播放聲音。

      1、首先用文本編輯器(如記事本)打開資源文件(.rc文件)

      在最后加入自己的聲音資源,如下IDW WAVE "c:\\kav\\sound\\virus.wav"

      保存資源文件。 
      2、在應用程序中要播放聲音的地方啟動另一線程,用來播放聲音:

    AfxBeginThread((AFX_THREADPROC)sound,NULL,THREAD_PRIORITY_NORMAL);
      3、添加線程回調函數

      這里介紹加載資源的方法。首先用函數AfxGetInstanceHandle()獲得實例的句柄,其次用函數FindResource找到自己的聲音資源。

    HRSRC FindResource(
     HMODULE hModule, // module handle
     LPCTSTR lpName, // resource name
     LPCTSTR lpType // resource type
    )

      找到聲音資源后,要用LoadResource加入該資源

    HGLOBAL LoadResource(
     HMODULE hModule, // module handle
     HRSRC hResInfo // resource handle
    );

      最后鎖定資源內存塊,并返回所標定內存塊的虛擬內存地址。如果該資源被成功鎖定的話,則返回值指向該資源開始處的第一個字節:

    LPVOID pv=LockResource() 
      注意:若上述四步中的任何一步發生問題,則返回并釋放相應的內存。接下去要做的事情就是根據文件數據類型進行數據加載。 

    UINT CPlaySoundView::sound(LPVOID pParam)
    {
     HINSTANCE h=AfxGetInstanceHandle();
     HRSRC hr=FindResource(h,"IDW","WAVE");
     HGLOBAL hg=LoadResource(h,hr);
     LPSTR lp=(LPSTR)LockResource(hg);
     sndPlaySound(lp,SND_MEMORY|SND_SYNC);
     FreeResource(hg);
     return 0;
    }

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全