我在我以前的开发人员c++ borland编辑器中运行了以下代码:
char address[30];
sprintf(address,"\\\\SERVER_NAME\\EXAMPLE\\ROUTE");
Handle pipe=CreateFile((LPTSTR) &address,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);它在borland可以工作,但是当我把同样的代码放在Qt中时,就不能工作了。我不明白为什么,管道在qt中返回INVALID_HANDLE_VALUE。
我的目标是让它在qt中工作,并使用QLocalSocket类或其他类似的类。
我试过了:
QLocalSocket * socket = new QLocalSocket(this);
connect(socket, QOverload<QLocalSocket::LocalSocketError>::of(&QLocalSocket::error),this, &Conexion::displayError);
socket->connectToServer("\\\\SERVER_NAME\\EXAMPLE\\ROUTE");但它返回: QLocalSocket::ServerNotFoundError
非常感谢你,罗伯托
发布于 2019-06-28 21:41:15
没有明显的理由你的第一个代码样本应该与Borland一起工作,而不是与Qt一起工作,因为这是纯Win32代码。
如果你想找出它不能工作的原因,你必须在CreateFile()无法从Windows中检索到有用的信息之后调用GetLastError()。
对于QLocalSocket,您需要有一个QLocalServer listening,然后才能尝试连接QLocalSocket。
https://stackoverflow.com/questions/56806843
复制相似问题