0
我已經連接了一臺USB打印機,並且我試圖使用CFile
類的Open
方法打開那個端口。 下面的代碼工作正常的Windows XP,但它不會在Windows 7中運行:爲什麼下面的代碼在Windows XP中工作,但不是7?
#include<stdio.h>
#include<afx.h>
void main()
{
CFile m_Port;
CString PortName = "\\\\?\\usb#vid_0b0b&pid_106e#sx0000000-tc0000#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}";
int i;
i = m_Port.Open (PortName ,2,0);//PortName is DevicePath
if (i > 0)
printf("Done");
else
printf("Its not working");
i=GetLastError();
printf("\n\nError=%d",i);
}
在Windows XP中正常工作,但在Windows 7的情況下,GetLastError
返回3.如何能值我修復了這個代碼在Windows XP和Windows 7上的工作? 讓我知道他們是否在Windows 7中有任何不同的GUID。他們的任何其他選項在Windows 7中使用設備路徑打開端口?
3 - >「系統找不到指定的路徑。」我猜你已經遇到了Windows 7上的安全問題。或者說,當你無法按照自己想要的方式做出自己想要的東西的時候,即使你有安全感,但任何感興趣的黑客都可以。另一種可能性是您使用的UUID。或者一般的ID:你確定它在Windows 7中是一樣的嗎? – 2010-12-15 06:31:45
我的建議:使用ProcessExplorer檢查引擎蓋下究竟發生了什麼。 – Bahbar 2010-12-15 10:12:32