ceutils.c

来自「WINCE XAUDIO可播放各种音乐格式内附SOURCE CODE可以再不同C」· C语言 代码 · 共 98 行

C
98
字号
/*****************************************************************
|
|      Xaudio Player for Windows CE  
|      Utility Functions    
|
|      (c) 1996-1998 MpegTV, LLC
|      Author: Gilles Boccon-Gibod (gilles@mpegtv.com)
|
 ****************************************************************/

/*----------------------------------------------------------------------
|       include
+---------------------------------------------------------------------*/
#include <windows.h>
#include "ceutils.h."

/*----------------------------------------------------------------------
|       A2WConvert
+---------------------------------------------------------------------*/
LPWSTR 
A2WConvert(LPWSTR lpw, LPCSTR lpa, int nChars)
{
	lpw[0] = '\0';
	MultiByteToWideChar(CP_ACP, 0, lpa, -1, lpw, nChars);
	return lpw;
}

/*----------------------------------------------------------------------
|       W2AConvert
+---------------------------------------------------------------------*/
LPSTR 
W2AConvert(LPSTR lpa, LPCWSTR lpw, int nChars)
{
	lpa[0] = '\0';
	WideCharToMultiByte(CP_ACP, 0, lpw, -1, lpa, nChars, NULL, NULL);
	return lpa;
}

/*----------------------------------------------------------------------
|       ShowGenericError
+---------------------------------------------------------------------*/
void
ShowGenericError(TCHAR *string, int code)
{
    TCHAR message[1024];
    swprintf(message, TEXT("%s [%d]"), string, code);
    MessageBox(NULL, message, TEXT("Xaudio Error"), 
               MB_OK            | 
               MB_ICONERROR     | 
               MB_SETFOREGROUND |
               MB_TOPMOST       |
               MB_APPLMODAL);
}

/*----------------------------------------------------------------------
|       ShowWindowsError
+---------------------------------------------------------------------*/
void
ShowWindowsError(TCHAR *string, DWORD code)
{
    TCHAR message[1024];
    LPVOID desc;
    if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
                      FORMAT_MESSAGE_FROM_SYSTEM,    
                      NULL,
                      code,
                    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
                    (LPTSTR)&desc,    0,    NULL ) == 0) {
        desc = NULL;
    }

    swprintf(message, TEXT("%s\nWindows Error %d\n%s"),
             string, code, desc == NULL ? TEXT("[unknown]"):(TCHAR *)desc);
    MessageBox(NULL, message, TEXT("Xaudio Error"), 
               MB_OK            | 
               MB_ICONERROR     | 
               MB_SETFOREGROUND |
               MB_TOPMOST       |
               MB_APPLMODAL);
    if (desc) LocalFree(desc);
}

/*----------------------------------------------------------------------
|       GetFilenameExtension
+---------------------------------------------------------------------*/
const char *
GetFilenameExtension(const char *name)
{
    const char *extension = NULL;
    char current;
    while (current = *name++) {
        if (current == '.') extension = name;
    }

    return extension;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?