Текущий архив: 2007.11.04;
Скачать: CL | DM;
Вниз
Узнать, запущен ли Word. Найти похожие ветки
← →
AlexanderMS © (2007-10-13 17:32) [0]Как лучше сделать?
Можно черезFindWindow
, но ведь есть более эффективный способ?
← →
Ping (2007-10-13 17:52) [1]Что значит "эффективный"?
← →
EvS © (2007-10-13 18:00) [2]Getactiveoleobject?
← →
AlexanderMS © (2007-10-13 18:35) [3]
> Что значит "эффективный"?
Значит, не возиться с Caption"ом найденного окна, да и мало ли что, вдруг в заголовке не будет фразы "Microsoft Word" :)
> Getactiveoleobject?
Спасибо, а класс Word"a как называется (в параметре)?
← →
EvS © (2007-10-13 18:52) [4]Так и называется-"Word.Application"
← →
hahol_64_rus (2007-10-13 19:11) [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)
← →
AlexanderMS © (2007-10-13 19:49) [6]
> hahol_64_rus (13.10.07 19:11) [5]
Спасибо, но не вижу разницы в принципе с FindWindow, и не совсем оптимально.
← →
Johnnnnnn (2007-10-13 21:23) [7]word: OleVariant;
word:=Getactiveoleobject("word.application");
if word<>0 then showmessage("word");
← →
Dmitry S © (2007-10-14 06:34) [8]
> hahol_64_rus (13.10.07 19:11) [5]
Для чего? Не помощью мютекс создать?:)
← →
AlexanderMS © (2007-10-14 15:12) [9]Всем большое спасибо.
Страницы: 1 вся ветка
Текущий архив: 2007.11.04;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.039 c