利用QSharedMemory 保证单个程序运行
生活随笔
收集整理的這篇文章主要介紹了
利用QSharedMemory 保证单个程序运行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有的時候我們需要保證用戶只能運行一個實例進程,那下面就介紹一下利用Qsharememory來完成這操作!
QShareMemory
示例如下 QLogin::QLogin(QWidget *parent /*= 0*/): QDialog(parent) {m_sharedMen = new QSharedMemory("SWARTZ 1.0");... }
bool QLogin::IsRunning() {volatile int i = 2;while (i--){if (m_sharedMen->attach(QSharedMemory::ReadOnly)){m_sharedMen->detach();}}if (!m_sharedMen->create(1)){return true;}return false; }
QLogin::~QLogin() {delete(m_sharedMen); }
只需要在主函數里面加一個判斷即可!
QLogin login; if (login.IsRunning()) {QMessageBox::about(NULL, QObject::tr("warning"), QObject::tr("App has been started"));return 0; }
QShareMemory
示例如下 QLogin::QLogin(QWidget *parent /*= 0*/): QDialog(parent) {m_sharedMen = new QSharedMemory("SWARTZ 1.0");... }
bool QLogin::IsRunning() {volatile int i = 2;while (i--){if (m_sharedMen->attach(QSharedMemory::ReadOnly)){m_sharedMen->detach();}}if (!m_sharedMen->create(1)){return true;}return false; }
QLogin::~QLogin() {delete(m_sharedMen); }
只需要在主函數里面加一個判斷即可!
QLogin login; if (login.IsRunning()) {QMessageBox::about(NULL, QObject::tr("warning"), QObject::tr("App has been started"));return 0; }
總結
以上是生活随笔為你收集整理的利用QSharedMemory 保证单个程序运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sublime使用技巧总结
- 下一篇: JavaScript实用小技巧