![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить хэндл окна, вызываемого функцией 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