示例#1
0
QIcon SeafileTrayIcon::stateToIcon(TrayState state)
{
    state_ = state;
#if defined(Q_WS_WIN)
    QString prefix = isWindowsVistaOrHigher() ? ":/images/win/win7/" : ":/images/win/xp/";

    switch (state) {
    case STATE_DAEMON_UP:
        return getIcon(prefix + "daemon_up.ico");
    case STATE_DAEMON_DOWN:
        return getIcon(prefix + "daemon_down.ico");
    case STATE_DAEMON_AUTOSYNC_DISABLED:
        return getIcon(prefix + "seafile_auto_sync_disabled.ico");
    case STATE_TRANSFER_1:
        return getIcon(prefix + "seafile_transfer_1.ico");
    case STATE_TRANSFER_2:
        return getIcon(prefix + "seafile_transfer_2.ico");
    case STATE_SERVERS_NOT_CONNECTED:
        return getIcon(prefix + "seafile_warning.ico");
    }
#elif defined(Q_WS_MAC)
    switch (state) {
    case STATE_DAEMON_UP:
        return getIcon(":/images/mac/daemon_up.png");
    case STATE_DAEMON_DOWN:
        return getIcon(":/images/mac/daemon_down.png");
    case STATE_DAEMON_AUTOSYNC_DISABLED:
        return getIcon(":/images/mac/seafile_auto_sync_disabled.png");
    case STATE_TRANSFER_1:
        return getIcon(":/images/mac/seafile_transfer_1.png");
    case STATE_TRANSFER_2:
        return getIcon(":/images/mac/seafile_transfer_2.png");
    case STATE_SERVERS_NOT_CONNECTED:
        return getIcon(":/images/mac/seafile_warning.png");
    }
#else
    switch (state) {
    case STATE_DAEMON_UP:
        return getIcon(":/images/daemon_up.png");
    case STATE_DAEMON_DOWN:
        return getIcon(":/images/daemon_down.png");
    case STATE_DAEMON_AUTOSYNC_DISABLED:
        return getIcon(":/images/seafile_auto_sync_disabled.png");
    case STATE_TRANSFER_1:
        return getIcon(":/images/seafile_transfer_1.png");
    case STATE_TRANSFER_2:
        return getIcon(":/images/seafile_transfer_2.png");
    case STATE_SERVERS_NOT_CONNECTED:
        return getIcon(":/images/seafile_warning.png");
    }
#endif
}
示例#2
0
QString WinInfo::getForegroundWindowExePath()
{
    QString exePath;
    HWND foreground = GetForegroundWindow();
    HANDLE windowProcess = NULL;
    if (foreground)
    {
        DWORD processId;
        GetWindowThreadProcessId(foreground, &processId);
        windowProcess = OpenProcess(PROCESS_VM_READ | PROCESS_QUERY_INFORMATION, true, processId);
    }

    if (windowProcess != NULL)
    {
        TCHAR filename[MAX_PATH];
        memset(filename, 0, sizeof(filename));
        //qDebug() << QString::number(sizeof(filename)/sizeof(TCHAR));
        if (isWindowsVistaOrHigher())
        {
            DWORD pathLength = MAX_PATH * sizeof(TCHAR);
            QueryFullProcessImageNameW(windowProcess, 0, filename, &pathLength);
            //qDebug() << pathLength;
        }
        else
        {
            DWORD pathLength = GetModuleFileNameEx(windowProcess, NULL, filename, MAX_PATH * sizeof(TCHAR));
            //qDebug() << pathLength;
        }

        exePath = QString::fromWCharArray(filename);
        //qDebug() << QString::fromWCharArray(filename);
        CloseHandle(windowProcess);
    }

    return exePath;
}