Как использовать Delphi для получения текста электронного письма от Thunderbird

Попробуйте это:

    AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

    IntentFilter iFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
    Intent iStatus = getApplicationContext().registerReceiver(null, iFilter);
    boolean isHeadsetOn = false;

    if (iStatus != null) {
        isHeadsetOn = iStatus.getIntExtra("state", 0) == 1;
    }
    if(mAudioManager.isWiredHeadsetOn() || isHeadsetOn)
    {
        //When headphones are plugged
        mAudioManager.setMode(AudioManager.MODE_CURRENT);
        mAudioManager.setSpeakerphoneOn(true);
    }else { 
        //When headphones are not plugged
        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
        mAudioManager.setSpeakerphoneOn(true);
    }
5
задан MarkF 9 June 2009 в 12:43
поделиться

2 ответа

Проверьте эту ссылку .

Вы можете написать оболочку C или C ++ вокруг XPCOM, а затем использовать эту оболочку в Delphi.

Также есть открытая источник Обертка XPCOM, написанная на Delphi . Возможно, вы тоже захотите это проверить. Спасибо Stijn за указание на это.

Надеюсь, это поможет.

5
ответ дан 14 December 2019 в 04:46
поделиться

Вы также можете самостоятельно проанализировать файлы почтового ящика Thunderbird.

  • Из % APPDATA% \ Thunderbird \ profiles.ini прочтите, где находится папка профиля (если есть еще чем один профиль, просмотрите разделы Профиль 0 .. Профиль n для того, который имеет значение По умолчанию = 1 )
  • Каждая подпапка Mail и / или ImapMail подпапки профиля представляет учетную запись ( Mail содержит учетные записи POP, ImapMail содержит Учетные записи IMAP);
  • Просмотрите все файлы, имена которых не заканчиваются на .dat или .msf, и , содержимое которых начинается с 'От' (F, r, o, m и пробел ). Это файлы почтовых ящиков .
  • Каждая строка, начинающаяся с « From », указывает на новое сообщение. Используйте заголовок X-Mozilla-Status , чтобы выяснить, действительно ли сообщение по-прежнему или было помечено для удаления. (Вы можете использовать COM-объект CDO.Message для синтаксического анализа сообщения за вас, если хотите.)

Вы должны выполнить рекурсию для каждой подпапки, заканчивающейся на '.sbd', поскольку она будет содержать этот почтовый ящик вложенные папки (например, Inbox.sbd будет содержать почтовые папки в папке «Входящие»).

Однако будьте осторожны с проблемами блокировки файлов.

3
ответ дан 14 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: