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

Ваш аккаунт

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

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

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

Window Problem

8.9K
29 июля 2006 года
Kulti
77 / / 29.07.2006
У меня следующая проблема с окнами. В VC++ в классу CWnd был метод FindWindow, который по заголовку окна возвращал хэндл или дескриптор, не помню точно. А в C# есть такая фича, или по дедовски через API? Если API надобно юзать, то как?
273
29 июля 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=Kulti]У меня следующая проблема с окнами. В VC++ в классу CWnd был метод FindWindow, который по заголовку окна возвращал хэндл или дескриптор, не помню точно. А в C# есть такая фича, или по дедовски через API? Если API надобно юзать, то как?[/quote]
Нет, попроще через список процессов. Вот так можно реализовать FindWindow чистым managed-кодом:
Код:
[SIZE=2]
 
[FONT=Courier New][SIZE=2][COLOR=#0000ff]public [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]static [/COLOR][/SIZE][SIZE=2][COLOR=#008080]IntPtr[/COLOR][/SIZE][SIZE=2] FindWindow([/SIZE][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] windowTitle)[/FONT]
[FONT=Courier New]{[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#008080]IntPtr[/COLOR][/SIZE][SIZE=2] result=[/SIZE][SIZE=2][COLOR=#008080]IntPtr[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New].Zero;[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]foreach[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#008080]Process[/COLOR][/SIZE][SIZE=2] p [/SIZE][SIZE=2][COLOR=#0000ff]in [/COLOR][/SIZE][SIZE=2][COLOR=#008080]Process[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New].GetProcesses())[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]  if[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] (p.MainWindowTitle == windowTitle)[/FONT]
[FONT=Courier New]  {[/FONT]
[FONT=Courier New]    result = p.MainWindowHandle;[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]    break[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New];[/FONT]
[FONT=Courier New]  }[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] result;[/FONT]
[FONT=Courier New]}[/FONT]
[/SIZE][/SIZE]
8.9K
30 июля 2006 года
Kulti
77 / / 29.07.2006
Спасиб большое, а то я мыкался, мыкался... Тогда еще вопросик: а моно как-нить к полноэкранному приложению обратиться? Т.е. мое где-то там под ним, но говорит ему что делать. Если нет, то могу ли обратится к тому, что на экране(в смысле картинке)? Или у полноэкранного приложения монопольный доступ?
273
30 июля 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=Kulti]Спасиб большое, а то я мыкался, мыкался... Тогда еще вопросик: а моно как-нить к полноэкранному приложению обратиться? Т.е. мое где-то там под ним, но говорит ему что делать. Если нет, то могу ли обратится к тому, что на экране(в смысле картинке)? Или у полноэкранного приложения монопольный доступ?[/quote]
Подобный пост: http://forum.codenet.ru/showthread.php?t=26461
Если приложение, которое будет управлять и которым ты будешь управлять написаны тобою (т.е. имеется исходный код), то можно организовать передачу данных между ними.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог