|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Некоторые проблемы с установкой нашей программы поверх всех окон |
|
C/C++ - Некоторые проблемы с установкой нашей программы поверх всех окон
|
![]() Старожил Сообщения: 467 |
Делаю вот так:
Компилятор мне выдает вот так: Может я не тот HWND беру? Ну задача вот такая: установить форму нашей программы поверх всех других окон, даже поверх "Пуска". Использую Microsoft Visual Studio 2005 (Windows Form Application). Спасибо за помощь! |
|
------- Отправлено: 08:02, 30-12-2009 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать crashtuak, если проект WinForm (то есть с использованием .NET Framework) лучше использовать строчку кода Form1::TopMost = true;
А для Win32 подхода, по которому уже должна быть прописана функция SetWindowPos (кстати если окно необходимо просто на время вывести поверх всех окон, то тогда лучше использовать SetForegroundWindow), компилятор всё правильно говорит, так как HWND (дескриптор окна) и Handle (дескриптор объекта) разные вещи. Если всё же интересен и Win32 подход нужно заполучить HWND формы. Это можно сделать, ну скажем Win32 функцией FindWindow. P.S. Для VB.NET, коллеге по цеху WinForm, позволительно использовать и Handle, вместо hwnd, объекта Me, в качестве аргумента упомянутой функции SetForegroundWindow. http://forum.oszone.net/post-1092960.html#post1092960 |
Отправлено: 08:27, 30-12-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Admiral, спасибо, ваши советы мне помогли. Решил получить HWND формы с помощью FindWindow, далее в ход пошла SetWindowPos, с помощью которой я заодно и задал нужные размеры и позицию окна(убил сразу трех зайцев
![]() |
------- Отправлено: 15:59, 30-12-2009 | #3 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать crashtuak, между прочим, размер и положение формы можно так же задать и WinForm средствами
Form1::Size::set (System::Drawing::Size(720, 576)); Form1::DesktopLocation::set (System::Drawing::Point(50, 20)); Но это как будет удобнее, дело вкуса. ![]() |
Отправлено: 00:32, 31-12-2009 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Win32 API - WinAPi приложение поверх всех окон | XCodeR | Программирование и базы данных | 19 | 15-03-2012 18:55 | |
Мультимедиа - AverTV | Webant | Программное обеспечение Windows | 42 | 14-03-2011 20:51 | |
Порно-баннер поверх всех окон | NukeReACTOR | Лечение систем от вредоносных программ | 12 | 17-11-2009 20:21 | |
Интерфейс - [решено] Как сделать любую программу "поверх всех окон"? | DesignerMix | Microsoft Windows 7 | 3 | 24-10-2009 13:17 | |
C/C++ - [C++Builder 2007] Две формы поверх всех окон и одна форма поверх другой | crashtuak | Программирование и базы данных | 3 | 13-04-2009 16:33 |
|