Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить хэндл окна, вызываемого функцией ShellExecute? [D6, 95/98]


Dr. Genius ©   (2006-06-27 20:06:00) 

Здравствуйте!
Как получить хэндл окна, вызываемого функцией ShellExecute (Form1.Handle, 'Open', 'mailto:xxx@mail.ru', nil, nil, SW_SHOWNORMAL);


Шпиён   (2006-06-27 23:24:00) [1]


> Leonid Troyanovsky ©   (27.06.06 22:59) [10]

Тут пока трудно что-либо посоветовать.. потому как не ясно, зачем этот самый хэндл окна понадобился. А телепатировать лень -)


Leonid Troyanovsky   (2006-06-27 22:59:00) [2]


> Шпиён   (27.06.06 22:25) [9]

> Или я туплю, или для того, чтобы воспользоваться CreateProcess
> понадобятся дополнительные "телодвижения"...


Конечно, понадобятся, чудес не бывает.
Хотя, видимо, в контексте исходного вопроса и этот путь
следует признать порочным, бо, для искомого управления
мейлером надо обращаться с ним как с automation server
или копать MAPI.

--
Regards, LVT.


Шпиён   (2006-06-27 22:25:00) [3]


> Leonid Troyanovsky ©   (27.06.06 21:44) [7]

В исходном вопросе еще и это было:
ShellExecute (Form1.Handle, 'Open', 'mailto:xxx@mail.ru', nil, nil, SW_SHOWNORMAL);

Или я туплю, или для того, чтобы воспользоваться CreateProcess понадобятся дополнительные "телодвижения"...
А ShellExecuteEx (imho) вообще не ведет к цели, т.к. может вернуть Null в hProcess, если почтовая программа уже запущена
MSDN:

hProcess
Handle to the newly started application.
hProcess will be NULL if no process was launched. For example, if a document to be launched is a URL and an instance of Microsoft® Internet Explorer is already running, it will display the document. No new process is launched, and hProcess will be NULL.


Пусик   (2006-06-27 21:49:00) [4]


> Requires Windows Vista or Windows XP SP1.


Тогда прошу прощения. Действительно, требования к этой функции великоваты.


Leonid Troyanovsky   (2006-06-27 21:44:00) [5]


> Пусик ©   (27.06.06 21:37) [5]

> GetProcessId


Requires Windows Vista or Windows XP SP1.
Server Requires Windows Server "Longhorn" or Windows Server 2003.

Как там, в исходном вопросе?

--
Regards, LVT.


begin...end   (2006-06-27 21:43:00) [6]

> Пусик ©   (27.06.06 21:37) [5]

Вопрос про Windows 95/98, вообще-то.


Пусик   (2006-06-27 21:37:00) [7]


> ShellExecuteEx не ведет, бо может вернуть лишь хендл,а не
> Process(Thread)Id.


GetProcessId


Leonid Troyanovsky   (2006-06-27 21:20:00) [8]


> Пусик ©   (27.06.06 20:59) [3]

> И то, и другое ведет к цели.


ShellExecuteEx не ведет, бо может вернуть лишь хендл,
а не Process(Thread)Id.

--
Regards, LVT.


Пусик   (2006-06-27 20:59:00) [9]


> Leonid Troyanovsky ©   (27.06.06 20:57) [2]
> > Пусик ©   (27.06.06 20:49) [1] > ShellExecuteEx Тогда
> уж CreateProcess


И то, и другое ведет к цели.


Leonid Troyanovsky   (2006-06-27 20:57:00) [10]


> Пусик ©   (27.06.06 20:49) [1]

> ShellExecuteEx


Тогда уж CreateProcess.

--
Regards, LVT.


Пусик   (2006-06-27 20:49:00) [11]

ShellExecuteEx
+
http://www.rsdn.ru/Forum/Message/810584.htm


Наверх

Титульная страница Поиск, карта сайта Написать письмо