我想使用的Win32 API跟一個COM端口 我發現這個 http://www.robbayer.com/files/serial-win.pdf如何使用Win32 API的交談COM端口(RS232)
hSerial = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
我使用VS2008和它抱怨 錯誤C2664: 'CreateFileW':不能從轉換參數1 '爲const char [5]' 到 'LPCWSTR'
OK,我猜它不喜歡 「COM1」 是的char *類型,
我嘗試鑄造它LPCWSTR(「COM1」),然後它c ompiles沒有問題。
但是,它會返回「ERROR打開串口-1」,所以它不會成功找到的COM端口。我猜直接投射不是正確的方法?
請告訴我,我應該做的,使這項工作。
在MSDN是不是有幫助 http://msdn.microsoft.com/en-us/library/ms810467.aspx
我不知道什麼是 「gszPort」 意味着
嗨邁克爾,_T(「COM1」)給出的錯誤標識符找不到,我應該包括一些頭文件? TEXT(「」)適合我 – 2011-03-17 21:10:27
+1 Michael。 阿爾弗雷德,你錯過了那個符號中的下劃線。 _T(「COM1」) 在UNICODE構建下,_T(「」)映射到L「」,這是TEXT(「」)映射到的內容,這就是爲什麼適用於您的原因。並且在MBCS/ANSI構建下,_T(「」)映射到「」,這就是爲什麼你的原始文件不適合你的原因,因爲windows函數被映射到接受Ansi或Unicode字符串的A/W版本,具體取決於構建目標是否是UNICODE。 – meklarian 2011-03-17 21:20:22
嗨邁克爾,我試了_T和__T,沒有運氣,我猜這是unicode問題,以後再試。非常感謝! – 2011-03-17 21:24:16