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