Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

FindWindow не возвращает Handle окна :(

33K
16 апреля 2008 года
vasiskasss
8 / / 07.03.2008
Здравствуйте, необходимо использовать API в коде C#. Найти окно с помощью функции FindWindow почему то не получается. Может я что-то не так делаю?

Код:
[DllImport("User32.dll")]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("User32.dll")]
static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("User32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

Функция поиска окна:
private void HideLink(string parName)
{
IntPtr ParenthWnd = new IntPtr(0);
IntPtr hWnd = new IntPtr(0);

ParenthWnd = FindWindow(null, parName);

MessageBox.Show(ParenthWnd.ToString());
}

В коде проги вызываю эту функцию сл. образом:

SaitArticleAddEdit fSaitArticleAddEdit = new SaitArticleAddEdit(selId, selNode); //создаю WindowsForm
fSaitArticleAddEdit.Name = "SaitArticleAddEdit";
fSaitArticleAddEdit.MdiParent = this.MdiParent;
fSaitArticleAddEdit.Show();
HideLink(fSaitArticleAddEdit.Name);

Короче проблема FindWindow всегда возвращает 0.
17K
16 апреля 2008 года
HookEst
144 / / 27.03.2008
Цитата:

Syntax

HWND FindWindow( LPCTSTR lpClassName,
LPCTSTR lpWindowName
);
Parameters
...
lpWindowName
[in] Pointer to a null-terminated string that specifies the window name (the window's title). If this parameter is NULL, all window names match.
...
Remarks
If the lpWindowName parameter is not NULL, FindWindow calls the GetWindowText function to retrieve the window name for comparison
...


т.е. вторым параметром должен идти заголовок окна(Text).

33K
17 апреля 2008 года
vasiskasss
8 / / 07.03.2008
Цитата: HookEst
т.е. вторым параметром должен идти заголовок окна(Text).



Попробовал, все равно возвращает 0 :(. Что за ерунда то? Должна ж работать.

602
17 апреля 2008 года
KPI Student
265 / / 16.12.2006
Я не знаток С#, но ты проверь, действительно ли string == LPCTSTR, то есть (char *)
17K
17 апреля 2008 года
HookEst
144 / / 27.03.2008
Цитата:
fSaitArticleAddEdit.MdiParent = this.MdiParent;


)так это у тебя ChildWindow?

Цитата:
The FindWindow function retrieves a handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.

33K
17 апреля 2008 года
vasiskasss
8 / / 07.03.2008
Цитата: HookEst
)так это у тебя ChildWindow?



Точно, спасибо большое за указание. Виноват, невнимательно читал описание функции. А то я сижу и думаю, что за хре...ь.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог