在VS2008环境下用API编串口通信程序的有关问题

在VS2008环境下用API编串口通信程序的问题
C/C++ code

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    char lpBuf[] = "Hello World!";
    
    HANDLE hFile = CreateFile(
                    "COM1", //此处错误: error C2664: “CreateFileW”:
                    //不能将参数1 从“const char [5]”转换为“LPCWSTR”
                    GENERIC_WRITE,
                    FILE_SHARE_WRITE,
                    NULL,
                    OPEN_EXISTING,
                    0,
                    0);
    if (hFile == INVALID_HANDLE_VALUE)
    {
        return 1;
    }
    DWORD dwBW;
    WriteFile(hFile, lpBuf, strlen(lpBuf), &dwBW, NULL);
    CloseHandle(hFile);

    return 0;
}

/*
==========================================================================
这个程序在VC6上编译没错,但是在vs2008上就出问题了,问题如上所示,请问是不是
VCreateFile()的第1个参数类型在VC6中是unsigned char * ;而在VS2008中是unsigned
short *的原因(看了MSDN猜测是这样的)?请各位给出原因和解决方法。万分感谢!
==========================================================================
*/



------解决方案--------------------
TEXT("COM1")改成这样,

这是因为你的VS2008默认是UNICODE字符集环境,所以CreateFile在UNICODE下是定义成CreateFileW的.所以需要UNICODE形式的串,