扫描USB并自动启动应用程序

时间:2015-06-12 19:45:38

标签: c++ qt

我在MacOS上用QT / C ++编写了一个应用程序。

应用程序只是一个代理,用于检查USB设备是否已连接。如果是,则启动应用程序。

“LaunchAgent.app”的代码如下所示,以检测并启动:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    UsbDetection *MyUSBDevice = new UsbDetection;

    if(MyUSBDevice->isConnected() == true) {
        QString agentExecutableDirPath = QApplication::applicationDirPath();
    QString fileBrowserExecutablePath = agentExecutableDirPath + "/../../../../MacOS/connect";

        QProcess *process = new QProcess();
        process->start(fileBrowserExecutablePath);
    }

    return 0;
} 

我还尝试通过以下方式替换路径:         QString fileBrowserExecutablePath = agentExecutableDirPath +“/../../../../../../ connect.app”;

此代理“LaunchAgent.app”当前存储在应用程序包“connect.app”中。应用程序包名为“connect.app”,包含:

connect.app/
    Contents/
        Frameworks/
        MacOS/
            connect
        Plugins/
        Resources/
            LaunchAgent.app

任何想法,为什么一旦LaunchAgent.app启动,设备连接,connect.app就没有启动。

该应用似乎正在尝试启动,因为该应用还会创建一个日志文件。 connect.app创建他的日志文件,但它是空的,如应用程序启动,但后来被杀死。也许使用process-> start不是最好的选择

由于

0 个答案:

没有答案