Не могу применить FindWindow, чтобы найти Word. Помогите.

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Nataliak
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 10.03.2004 (Ср) 0:10

Не могу применить FindWindow, чтобы найти Word. Помогите.

Сообщение Nataliak » 23.11.2005 (Ср) 17:15

Помогите, плиз разобраться с API. Вроде все просто и примеров много, но не получается. Задача проста - определить открыт ли Word.
Вот как я пытаюсь это проделать... У меня VB.NET, Studio2003, windowsXP, Word2002

Public Const WORD_WINDOWCLASSNAME = "OpusApp"
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Property WordApp() As Word.Application
Get
Return Me.objWord
End Get
Set(ByVal Value As Word.Application)
Dim hWnd As Long
hWnd = 0
hWnd = FindWindow(WORD_WINDOWCLASSNAME, vbNullString)

If hWnd <> 0 Then
MsgBox("Word уже загружен")
Else
MsgBox("Word не загружен")
Me.objWord = New Word.Application
Me.objWord.Visible = True
End If
End Set
End Property

В итоге всегда возвращается больше 0 и получается что ("Word уже загружен"), а это далеко не так. Причем в странном формате handle окна типа 92886755199418368.

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 24.11.2005 (Чт) 2:07

Возможно
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Long - 64х битное число в .NET (в VB6 - 32х)

Nataliak
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 10.03.2004 (Ср) 0:10

Сообщение Nataliak » 24.11.2005 (Чт) 13:21

Да. :D Integer, но... тогда встречный вопрос, а как готовая программа поведет себя на других, не XP (как у меня) платформах :?: ?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 24.11.2005 (Чт) 15:15

а если документ открыт в ИЕ? Код пролетит с треском(((
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56

    TopList  
cron