![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Узнать, запущен ли Word.
AlexanderMS © (2007-10-13 17:32:00)Как лучше сделать?
Можно черезFindWindow, но ведь есть более эффективный способ?
AlexanderMS (2007-10-14 15:12:00) [1]Всем большое спасибо.
Dmitry S (2007-10-14 06:34:00) [2]
> hahol_64_rus (13.10.07 19:11) [5]
Для чего? Не помощью мютекс создать?:)
Johnnnnnn (2007-10-13 21:23:00) [3]word: OleVariant;
word:=Getactiveoleobject('word.application');
if word<>0 then showmessage('word');
AlexanderMS (2007-10-13 19:49:00) [4]
> hahol_64_rus (13.10.07 19:11) [5]
Спасибо, но не вижу разницы в принципе с FindWindow, и не совсем оптимально.
hahol_64_rus (2007-10-13 19:11:00) [5]var pbuff:array [0..127] of Char;
var dWin:Hwnd;
var st:string;
dWin:=GetWindow(application.Handle,GW_HWNDFIRST);
while dWin <>0 do
begin
if (dWin<>Application.Handle) and
(GetWindow(dWin,GW_OWNER)=0) and
(GetWindowText(dWin,pbuff,sizeof(pbuff))<>0)
then
begin
GetWindowText(dWin,pbuff,sizeof(pbuff));
st:=string(pbuff);
if st='Hahol_Smile_player' then
begin
st:='"Hahol_Smile_player уже запущенн"';
Application.MessageBox(Pchar(st),'',MB_OK);
exit;
end;
end;
dWin:=GetWindow(dWin,GW_HWNDNEXT);
end;
я вот так делал когда хотел узнать запущен ли мой плеер (hahol_smill_palyer)
EvS (2007-10-13 18:52:00) [6]Так и называется-'Word.Application'
AlexanderMS (2007-10-13 18:35:00) [7]
> Что значит "эффективный"?
Значит, не возиться с Caption'ом найденного окна, да и мало ли что, вдруг в заголовке не будет фразы "Microsoft Word" :)
> Getactiveoleobject?
Спасибо, а класс Word'a как называется (в параметре)?
EvS (2007-10-13 18:00:00) [8]Getactiveoleobject?
Ping (2007-10-13 17:52:00) [9]Что значит "эффективный"?