在Windows CE音頻驅動裏面得到調用者(發聲)的應用程序

 用函數 CreateToolhelp32Snapshot 列出進程的ID號,列出的函數如下:

 

static void print_process(PROCESSENTRY32 *pPE)
{
    RETAILMSG(1, (L"Process: id=%08X (%s)/r/n", pPE->th32ProcessID,  pPE->szExeFile ));   
}

 

static void list_process()
{
    HANDLE hShot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );   
    if( hShot != INVALID_HANDLE_VALUE )
    {
        // List all process here
        PROCESSENTRY32 pe;
        pe.dwSize = sizeof(PROCESSENTRY32);
       
        Process32First( hShot, &pe );
        print_process( &pe );
       
        while( Process32Next(hShot, &pe) )
        {
            print_process( &pe );           
        }
           
        CloseToolhelp32Snapshot( hShot );
    }
    else
    {       
        RETAILMSG(1, (L"CreateToolhelp32Snapshot failed %d/r/n", GetLastError() ));
    }

}

 

 

驅動裏面的結果是:


Process: id=00400002 (NK.EXE)
Process: id=01430006 (udevice.exe)
Process: id=02150002 (udevice.exe)
Process: id=03830002 (udevice.exe)
Process: id=053A0002 (udevice.exe)
Process: id=06110002 (servicesd.exe)
Process: id=06140002 (Gpsmc.exe)
Process: id=072B0002 (Explorer.exe)
Process: id=07240022 (Manager.exe)
Process: id=07B10032 (DebugLog.exe)
Process: id=0729002A (NaviOne.exe)

 

 

音頻發聲的時候調用 GetOwnerProcess() 得到 0729002A (NaviOne.exe)即導航程序,這個時候就可以進行相應的處理,比如暫停MP3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章