zhengtianzuo |
2018-01-25 17:26 |
zhengtianzuo系列-Qt单实例进程
Qt实现单实例进程一般有3种方式: QLocalServer QSharedMemory QtSingleApplication
这里主要介绍QLocalServer的方式 启动时尝试连接, 如果连接想相同名称的QLocalServer, 说明程序已经启动了, 退出 ``` //连接LocalServer QString serverName = "localserver"; QLocalSocket socket; socket.connectToServer(serverName); if(socket.waitForConnected(1000)) return(-1); ```
没有连接的话则创建一个
``` //创建LocalServer QLocalServer server; if (server.listen(serverName)){ if(server.serverError()== QAbstractSocket::AddressInUseError && QFile::exists(server.serverName())){ QFile::remove(server.serverName()); server.listen(serverName); } } ```
需要完整代码请访问 QtOtherExamples |
|