首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么QT中的CreateFile不起作用?我如何将其设置为QLocalSocket或类似的

为什么QT中的CreateFile不起作用?我如何将其设置为QLocalSocket或类似的
EN

Stack Overflow用户
提问于 2019-06-28 20:20:37
回答 1查看 55关注 0票数 0

我在我以前的开发人员c++ borland编辑器中运行了以下代码:

代码语言:javascript
复制
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类或其他类似的类。

我试过了:

代码语言:javascript
复制
QLocalSocket * socket = new QLocalSocket(this);
connect(socket, QOverload<QLocalSocket::LocalSocketError>::of(&QLocalSocket::error),this, &Conexion::displayError);
socket->connectToServer("\\\\SERVER_NAME\\EXAMPLE\\ROUTE");

但它返回: QLocalSocket::ServerNotFoundError

非常感谢你,罗伯托

EN

回答 1

Stack Overflow用户

发布于 2019-06-28 21:41:15

没有明显的理由你的第一个代码样本应该与Borland一起工作,而不是与Qt一起工作,因为这是纯Win32代码。

如果你想找出它不能工作的原因,你必须在CreateFile()无法从Windows中检索到有用的信息之后调用GetLastError()

对于QLocalSocket,您需要有一个QLocalServer listening,然后才能尝试连接QLocalSocket

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56806843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档