Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почтовик по умолчанию, Как узнать? 
V
    Опции темы
Addmin
Дата 5.2.2006, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Хотел задать этот вопрос в прошлой теме, ну да ладно. Итак, господа знатоки, хочу спросить Вас:
Как узнать почтовик по умолчанию, установленный в Windows, и открыть его?
Буду благодарен всем откликнувшимся! smile


--------------------
PM MAIL   Вверх
_hunter
Дата 6.2.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



ты бы его поиску задал... ну да ладно:
http://forum.vingrad.ru/index.php?showtopic=29291


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Addmin
Дата 6.2.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Так тут ещё поиск есть! smile
Хорошо, теперь буду почаще искать.


--------------------
PM MAIL   Вверх
Addmin
Дата 6.2.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



2__hunter: спасибо за ответ, только на той странице код немного не рационален. Немного подразобравшись, написал свой, который открывает вообще любой клиент без каких-либо проверок и открытия из папок:
Код

uses Registry;

 procedure OpenMailClient;
 const
   cMailClient = '\SOFTWARE\Clients\Mail\';
 var
   reg: TRegistry;
   RegClientDefault: string;
 begin
   reg := TRegistry.Create;
   try
     with reg do
     begin
       CloseKey;
       RootKey := HKEY_LOCAL_MACHINE;
       if OpenKeyReadOnly(cMailClient) then  RegClientDefault := reg.ReadString('');
       if OpenKeyReadOnly(cMailClient + RegClientDefault + '\shell\open\command') then
         WinExec(PChar(ReadString('')), SW_SHOWNORMAL);
     end;
   finally
     reg.Free;
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   OpenMailClient;
 end;




--------------------
PM MAIL   Вверх
Snowy
Дата 6.2.2006, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код наоборот нужно усложнить:
Код

const MailClientKey = '\SOFTWARE\Clients\Mail\';
var
  r: TRegistry;
  s: string;
begin
  s := '';
  r := TRegistry.Create(STANDARD_RIGHTS_READ);
  try
    r.RootKey := HKEY_CURRENT_USER;
    if r.OpenKeyReadOnly(MailClientKey) then s := r.ReadString('');
    if s='' then
    begin
      r.RootKey := HKEY_LOCAL_MACHINE;
      if r.OpenKeyReadOnly(MailClientKey) then s := r.ReadString('');
    end;
    if s<>'' then begin
      r.RootKey := HKEY_LOCAL_MACHINE;
      if r.OpenKeyReadOnly(MailClientKey + s + '\shell\open\command') then s := r.ReadString('');
    end;
    if s<>'' then WinExec(PChar(s), SW_SHOWNORMAL);
  finally
    r.Free;
  end;
end;

Иначе код не будет правильно отрабатывать, если у юзера почтовый клиент отличается от дефолтового клиента системы.
PM MAIL   Вверх
Addmin
Дата 7.2.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Действительно, snowy, спасибо за совет, а то мой код открывает стандартный MS Outlook


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.