2016-09-09 4 views
2

이미 열려있는 프로그램에 명령 줄 인수를 전달하는 방법을 알고 싶습니다. 따라서 사용자는 "backup.exe -job awef"를 실행하고 backup.exe는 이미 열려있는 프로세스가 있음을 인식하고 이미 열려있는 프로세스에 인수를 전달하여 사용자가 명령 줄이나 바로 가기에서 원하는 것을 수행하도록 프로그램을 명령 할 수 있습니다 창문에. 감사합니다. 당신은 이미 당신의 명령 줄 인수 sendMessage 첨부 할 수있는 경우QT에서 이미 열려있는 프로그램에 명령 줄 인수를 전달하는 방법은 무엇입니까?

당신은 당신의 응용 프로그램의 시작 부분에서 https://doc.qt.io/archives/qtextended4.4/qtopiadesktop/qtsingleapplication.html#QtSingleApplication

에 따라 messageReceived에 명령 줄 인수를 처리 QtSingleApplication를 사용하여 목표를 달성 할 수

답변

1

, 당신은 확인해야합니다 인스턴스를 실행 한 다음 종료하십시오. 다음과 같이 그렇지 않으면, 당신은, 당신의 응용 프로그램을 시작하는 것입니다

int main(int argc, char* argv[]) 
{ 
    QtSingleApplication app("MySingleInstance", argc, argv); 

    // try to send commandline arguments 
    if(app.sendMessage(app.arguments().join("$"))) 
    { 
     return 0; 
    } 

    /* connect your messageRecieved signal to slot 
    SomeClass::slotLoadCommandLine to be able to handle 
    the commandline arguments from sendMessage*/ 
    QObject::connect(qApp, SIGNAL(messageReceived(QString)), 
        SomeClass, SLOT(slotLoadCommandLine(QString))); 

    //start your application 
    return app.exec(); 
} 

편집

+0

아무 문제 @shellter. .. 우리 모두 학습 .. 당신의 의견을 주셔서 감사합니다 :)! – HazemGomaa

+0

해당 클래스가 사용 중지 되었습니까? 현재 클래스의 문서 나 내 프로그램에 관련된 라이브러리에서 찾지 못했습니다. –

+0

어떤 Qt 버전입니까? – HazemGomaa

관련 문제