Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696

Изменение свойств чужого окна

04.04.2011, 02:58. Показов 4273. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Есть приложение (что-то типа зверя гуляющего по экрану) без видимого окна, но оно сделано так, что постоянно поверх остальных окно. Хочу сделать приложение, через которое будет запускаться это игрушечное приложение. Но как сделать так, чтоб 'чужая' программа не была постоянно поверх окно. Понимаю, что без WinApi не обойтись, но как это сделать? Потому что раздражает, когда поверх твоих данных что-то очень активно себя ведет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2011, 02:58
Ответы с готовыми решениями:

Данные из чужого окна (игры)
Здравствуйте! У меня возник такой вопрос, можно ли из игры получить данные которые мне необходимы? Хочу получить из игры результаты гонки...

Информация об объекте чужого окна
Доброго времени. Писал я когда-то программку на Delphi, которая при наведении курсора в чужом окне на определенный объект получала о нем...

SendMessage элементу чужого окна
Пишу на C#, получаю handle чужого окна через процесс (process.MainWindowHandle), отправляю этому окну сообщения через API функцию...

4
 Аватар для nuke4303
99 / 100 / 16
Регистрация: 30.03.2011
Сообщений: 350
04.04.2011, 09:27
FindWindow->EnumChildWindows ->GetDlgItem->SendMessage

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
......................
[DllImport("User32.dll")]
public static extern Int32 FindWindow(String lpClassName,String lpWindowName);
[DllImport("User32.dll")]
public static extern Boolean EnumChildWindows(int hWndParent,Delegate lpEnumFunc,int lParam);
[DllImport("User32.dll")]
[DllImport("user32.dll", CharSet = CharSet.Auto)]
 static extern int SendMessageA(IntPtr hwnd, int wMsg, int wParam, uint lParam);
 [DllImport("user32.dll", CharSet = CharSet.Auto)]
 public static extern IntPtr GetDlgItem(int hwnd, int childID);
...............
int hWnd;
public delegate int Callback(int hWnd,int lParam);
Callback myCallBack = new Callback(EnumChildGetValue);
hWnd = Win32.FindWindow(null,"CallingWindow");
EnumChildWindows(hWnd,myCallBack,0);
.........
public int EnumChildGetValue(int hWnd,int lParam)
{
IntPtr ptrTest = GetDlgItem(hwnd, intCID);
        SendMessageA(..............);
 
return 1;
}
Криво, но както так
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
05.04.2011, 02:35  [ТС]
nuke4303, что-то я совсем запутался... А что мне делать, ведь приложение без видимого окна - а значит я не знаю его заглавие. Как мне тогда искать окно?

Добавлено через 1 минуту
И где в приведенном Вами коде устанавливается нужное свойство окна?)
0
Заблокирован
05.04.2011, 07:32
Цитата Сообщение от body90 Посмотреть сообщение
Есть приложение (что-то типа зверя гуляющего по экрану) без видимого окна, но оно сделано так, что постоянно поверх остальных окно.
body90, мне просто интересно, как приложение без окна может быть поверх остальных окон? Если нет окна, что тогда поверх?

Добавлено через 14 минут
Цитата Сообщение от body90 Посмотреть сообщение
А что мне делать, ведь приложение без видимого окна - а значит я не знаю его заглавие. Как мне тогда искать окно?
Если ты знаешь, что оно существует - значит ты знаешь имя его процесса. В таком случае можно так:
C#
1
2
3
            System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcesses();
            System.Diagnostics.Process target_proc = process.First(p => p.ProcessName == "Твой процесс");
            Text = target_proc.MainWindowTitle;
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
06.04.2011, 00:37  [ТС]
Цитата Сообщение от SSV Посмотреть сообщение
body90, мне просто интересно, как приложение без окна может быть поверх остальных окон? Если нет окна, что тогда поверх?
Я говорил "без видимого окна". Изображение в нем рисуется, но самой формы не видно.

Добавлено через 39 секунд
Цитата Сообщение от SSV Посмотреть сообщение
В таком случае можно так
Спасибо! Не подумал об этом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2011, 00:37
Помогаю со студенческими работами здесь

Получение размеров чужого окна
Возник вопрос по получению размеров окна стороннего приложения. Пробовал WinAPI GetWindowRect(), но он выдает совершенно не то, что выдает...

Определить координаты чужого окна
Более подробно и умней задам вопрос. Хочу чтобы моя форма пристраивалась слева около чужого окна ...и если чужое окно перемещают то...

Изменение свойств локальной сети
можно ли средствами C# менять свойства подключения по локальной сети? то есть хотелось бы уметь программно менять ip-адрес, маску, шлюз и...

Реализация окна свойств для своих объектов
Всем привет. Делаю свою программку для автокада, но не суть - вопрос общий. Итак, я создаю свой класс, который описывает мой объект....

Программное изменение, добавление, удаление атрибутов у свойств класса
Собственно и интересует вопрос как программно изменить, добавить, удалить атрибуты у свойств класса???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru