Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how to create Singleinstance application
Forum Updated to NodeBB v4.3 + New Features

how to create Singleinstance application

Scheduled Pinned Locked Moved Solved General and Desktop
13 Posts 4 Posters 3.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Bharth
    wrote on last edited by
    #1

    hi,,,
    if im running exe file its opening application again if i click exe file it is opening new application ,,,
    i want only one application if it is already opened it should show Qmessaagebox

    please help me,,,,
    thanks in advance

    RatzzR J.HilkJ 2 Replies Last reply
    0
    • B Bharth

      hi,,,
      if im running exe file its opening application again if i click exe file it is opening new application ,,,
      i want only one application if it is already opened it should show Qmessaagebox

      please help me,,,,
      thanks in advance

      RatzzR Offline
      RatzzR Offline
      Ratzz
      wrote on last edited by Ratzz
      #2

      @Bharth
      You can make use of QtSingleApplication https://doc.qt.io/archives/qtextended4.4/qtopiadesktop/qtsingleapplication.html
      How to use them here.
      Good example by using QLockFile http://blog.aeguana.com/2015/10/15/how-to-run-a-single-app-instance-in-qt/

      --Alles ist gut.

      B 1 Reply Last reply
      4
      • B Bharth

        hi,,,
        if im running exe file its opening application again if i click exe file it is opening new application ,,,
        i want only one application if it is already opened it should show Qmessaagebox

        please help me,,,,
        thanks in advance

        J.HilkJ Offline
        J.HilkJ Offline
        J.Hilk
        Moderators
        wrote on last edited by
        #3

        @Bharth
        I do this via a QSharedMemory instance, I'm not sure if thats the best way to do it though.

        //insice main.cpp
        QSharedMemory _singular("myAppNameInstance");
            if(_singular.attach(QSharedMemory::ReadOnly)){
                //Instance Already running
                _singular.detach();
                //Your MessageBox-code should go here
                return -42;
            }else{
               //Program is not yet running.
                _singular.create(1);
            }
        

        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


        Q: What's that?
        A: It's blue light.
        Q: What does it do?
        A: It turns blue.

        B 1 Reply Last reply
        2
        • RatzzR Ratzz

          @Bharth
          You can make use of QtSingleApplication https://doc.qt.io/archives/qtextended4.4/qtopiadesktop/qtsingleapplication.html
          How to use them here.
          Good example by using QLockFile http://blog.aeguana.com/2015/10/15/how-to-run-a-single-app-instance-in-qt/

          B Offline
          B Offline
          Bharth
          wrote on last edited by
          #4

          @Ratzz said in how to create Singleinstance application:

          @Bharth
          You can make use of QtSingleApplication https://doc.qt.io/archives/qtextended4.4/qtopiadesktop/qtsingleapplication.html
          How to use them here.

          i checked this one it is showing file not found
          #include<QtSingleApplication>

          RatzzR 1 Reply Last reply
          0
          • B Bharth

            @Ratzz said in how to create Singleinstance application:

            @Bharth
            You can make use of QtSingleApplication https://doc.qt.io/archives/qtextended4.4/qtopiadesktop/qtsingleapplication.html
            How to use them here.

            i checked this one it is showing file not found
            #include<QtSingleApplication>

            RatzzR Offline
            RatzzR Offline
            Ratzz
            wrote on last edited by Ratzz
            #5

            @Bharth said in how to create Singleinstance application:

            it is showing file not found

            Its not part of Qt. You need to download and add them to your project.
            You can download from here .

            --Alles ist gut.

            B 1 Reply Last reply
            1
            • J.HilkJ J.Hilk

              @Bharth
              I do this via a QSharedMemory instance, I'm not sure if thats the best way to do it though.

              //insice main.cpp
              QSharedMemory _singular("myAppNameInstance");
                  if(_singular.attach(QSharedMemory::ReadOnly)){
                      //Instance Already running
                      _singular.detach();
                      //Your MessageBox-code should go here
                      return -42;
                  }else{
                     //Program is not yet running.
                      _singular.create(1);
                  }
              
              B Offline
              B Offline
              Bharth
              wrote on last edited by
              #6

              @J.Hilk said in how to create Singleinstance application:

              myAppNameInstance

              QMessageBox::information(this,"Application is already running...","appname");

              this keyword showing error,,,,invalid use of this

              why you are retunring -42 what is the meaning...

              thanks for your reply

              J.HilkJ 1 Reply Last reply
              0
              • B Bharth

                @J.Hilk said in how to create Singleinstance application:

                myAppNameInstance

                QMessageBox::information(this,"Application is already running...","appname");

                this keyword showing error,,,,invalid use of this

                why you are retunring -42 what is the meaning...

                thanks for your reply

                J.HilkJ Offline
                J.HilkJ Offline
                J.Hilk
                Moderators
                wrote on last edited by J.Hilk
                #7

                @Bharth
                the main.cpp is not QObject based class, so you can't give QMessageBox this as parent.

                why you are retunring -42 what is the meanin

                The Answer to the Ultimate Question of Death, The Universe, and Everything ...

                The boring answer: an arbitrary return value I choose to identify the exit of the application.


                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                Q: What's that?
                A: It's blue light.
                Q: What does it do?
                A: It turns blue.

                1 Reply Last reply
                5
                • RatzzR Ratzz

                  @Bharth said in how to create Singleinstance application:

                  it is showing file not found

                  Its not part of Qt. You need to download and add them to your project.
                  You can download from here .

                  B Offline
                  B Offline
                  Bharth
                  wrote on last edited by
                  #8

                  @Ratzz said in how to create Singleinstance application:

                  @Bharth said in how to create Singleinstance application:

                  it is showing file not found

                  Its not part of Qt. You need to download and add them to your project.
                  You can download from here .

                  i downloaded but i dont know which i should add to my project

                  RatzzR 1 Reply Last reply
                  0
                  • B Bharth

                    @Ratzz said in how to create Singleinstance application:

                    @Bharth said in how to create Singleinstance application:

                    it is showing file not found

                    Its not part of Qt. You need to download and add them to your project.
                    You can download from here .

                    i downloaded but i dont know which i should add to my project

                    RatzzR Offline
                    RatzzR Offline
                    Ratzz
                    wrote on last edited by
                    #9

                    @Bharth said in how to create Singleinstance application:

                    i dont know which i should add to my project

                    For me this works
                    alt text

                    --Alles ist gut.

                    1 Reply Last reply
                    3
                    • B Offline
                      B Offline
                      Bharth
                      wrote on last edited by
                      #10

                      thanks for your reply ,,,i will try

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        Bharth
                        wrote on last edited by
                        #11

                        its working but not able to show qmessagebox,,,,
                        again if i click exe file it should open old one now its not opening

                        jsulmJ 1 Reply Last reply
                        0
                        • B Bharth

                          its working but not able to show qmessagebox,,,,
                          again if i click exe file it should open old one now its not opening

                          jsulmJ Offline
                          jsulmJ Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          @Bharth said in how to create Singleinstance application:

                          again if i click exe file it should open old one now its not opening

                          Do you mean you want to show a message if you try to start a second instance?
                          Then simply do it inside this block:

                          if (instance.sendMessage("Wake up!"))
                          {
                              QMessageBox::information(nullptr, "Information", "Already running!", ...);
                              return 0;
                          }
                          

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          3
                          • B Offline
                            B Offline
                            Bharth
                            wrote on last edited by
                            #13

                            @jsulm said in how to create Singleinstance application:

                            QMessageBox::information(nullptr, "Information", "Already running!", ...);

                            thank you so much its worked....

                            1 Reply Last reply
                            0

                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups
                            • Search
                            • Get Qt Extensions
                            • Unsolved