powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
61 сообщений из 61, показаны все 3 страниц
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39730925
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Не нашел нигде информации о том, как реализовать вот такую задачу:

Есть у меня некое приложение. Для примера давайте возьмем самый простой мессенджер, который будет в виде полупрозрачного окна (WPF оформит это дело) прикреплен, ну пусть, к левой части экрана. Если мы будем смотреть фильм на полном экране или играть в игру, опять же, в полноэкранном режиме, то при активации окна мессенджера будет происходить вылет на рабочий стол (либо же будет вылезать панель задач и меню Пуск, если та же самая игра запущена в режиме: В окне во весь экран). Это все-таки некруто.
Вопрос: можно ли сделать так, чтобы при активации окна моего приложения не было вылета на рабочий стол? Т.е. чтобы мы быстренько могли отписать сообщение и тут же вернуться в игру.

Надеюсь понятно объяснил, чего хочу добиться) Очень рассчитываю на вашу помощь! Решение такой задачи можно будет применить для разработки множества интересных приложений.

P.S. Пишу на C#+WPF
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39730947
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderP.S. Пишу на C#+WPFхитрый?
Прошлую тему закрыл решением? Даже двумя?
А то впечатление что ты собиратель вопросов для Что где когда.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39730949
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, не совсем понял наезд. В прошлой теме был ответ, я поблагодарил всех, кто помог. Проблема в чем?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39730952
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
Обычно решение кастомизируют, правят и выкладывают с криком Получилось!
Это мнение со стороны, а не наезд.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39730953
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Я на данном проекте совсем недавно, поэтому здешних традиций не знаю
Благодарю за информацию, впредь постараюсь делать именно так
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39730976
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderпри активации окнакаким событием?
Оно не вылазит на передний план само по себе.
Код давай.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731000
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Да кода здесь достаточно самого простого - одно полупрозрачное окно, т.к. модифицировать именно его.

Ну пусть такое

Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Pr
{
    /// <summary>
    /// Логика взаимодействия для MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Ok_Click(object sender, RoutedEventArgs e)
        {

        }

        private void Close_Click(object sender, RoutedEventArgs e)
        {

        }
    }
}



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<Window x:Class="Pr.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Pr"
        mc:Ignorable="d"
        Title="MainWindow" Height="448" Width="257" VerticalAlignment="Bottom" Margin="0,0,0,0" AllowsTransparency="True" Background="Transparent" WindowStyle="None" ResizeMode="NoResize" Topmost="True">
    <Grid>

        <Border Width="Auto" Height="Auto" Name="windowFrame" 
 
        BorderBrush="#000" 
        Background="#000" 
        Opacity="0.40" 
 
        BorderThickness="1" 
        CornerRadius="5,5,0,0" Margin="0,0,0,0" Grid.ColumnSpan="2" >
        </Border>
        <Button Content="Ок" HorizontalAlignment="Left" Click="Ok_Click" Margin="46,215,0,0" VerticalAlignment="Top" Width="162" Height="35"/>
        <Button Content="Закрыть" HorizontalAlignment="Left" Click="Close_Click" Margin="46,385,0,0" VerticalAlignment="Top" Width="162" Height="28"/>
        <TextBox HorizontalAlignment="Left" Height="50" Margin="46,60,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="162"/>


    </Grid>
</Window>



И надо, чтобы при клике оно работало, как бы параллельно с "главным" приложением (если можно так выразиться, было привязано к запущенному проигрывателю, игре и т.п.).
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731004
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderнадо, чтобы при клике оно работало, как бы параллельно с "главным" приложением (если можно так выразиться, было привязано к запущенному проигрывателю, игре и т.п.).в первом посте другое ТЗ.
Прочти гугл про юз кейсы и опиши конкретный use case.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731006
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
Ни или аналог какой типа winamp приведи.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731007
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
я говорю, что могу не совсем правильно выражаться.
Вся суть именно в первом посте и есть. Надо, чтобы окно в фоновом режиме (пока не активно) работало бы просто поверх текущего приложения, а при его активации не происходило вылета на рабочий стол
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731026
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderPetro123,
я говорю, что могу не совсем правильно выражаться.
Вся суть именно в первом посте и есть. Надо, чтобы окно в фоновом режиме (пока не активно) работало бы просто поверх текущего приложения, а при его активации не происходило вылета на рабочий столнет не понятно.
Не торопись.
Ты и так как то быстро пишешь код для программиста).
Найди аналог и use case.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731028
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderНадо, чтобы окно в фоновом режиме (пока не активно) работало бы просто поверх текущего приложения,блин, это сделано в прошлой твоей теме.
Давай скрины готового приложения прошлой темы.
А потом скрин проблемы.
Имхо
Удачи!
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731233
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Так в фоновом режиме оно будет работать уже при свойстве Topmost, которое ставит окно поверх всех других окон
А по поводу задания, я прикрепил скрин, на котором активно полупрозрачное окно.
Так вот внизу появилась панель задач при этом. Такого не должно быть. Если бы мы были в игре в полноэкранном режиме - нас бы вообще на рабочий стол выкинуло, а такого также хотелось бы избежать
Прошлая тема здесь не при чем. Суть здесь абсолютно в другом
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731263
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,

В прошлой теме я давал вариант без окна. Помнишь?
Тогда и этого топика бы не было.
Верно?
Логично?
Скрин не плохой. Молодец. Видно что что то пишешь.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731266
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderТак вот внизу появилась панель задач при этом.в win api AFAIK есть метод не показывать окно в панели задач.
Но тут WPF, поэтому данный вариант - ждем профи.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731305
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Т.е. если скрыть приложение из панели задач, то при активации его окна не будет происходить вылета на рабочий стол?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731313
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderPetro123,
Т.е. если скрыть приложение из панели задач, то при активации его окна не будет происходить вылета на рабочий стол?
по архитектуре лучше вообще без окна, т.к. все события завязаны на хэндл окна, а ты с ними борешься.
И в игрушках окна рисованные.
А будет ли этот хак со скрытием работать - х.з.
В винде десятке у меня начинает мигать в панели задач иконка при окончании фонового потока.
Привлекает внимание)).
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731336
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Ты вот уже и в той теме говорил о том, как игрушки сделаны и в этой вот. Можешь скинуть сайт мб какой, где можно почитать о том, как они устроены? В идеале, чтобы там еще примерчик был, чтобы получше вникнуть.

И второй момент, насколько я понял, в предыдущей теме вопрос был решен таким образом, что мы попросту скрываем окно и работает уже с его элементами. И чтобы решить задачу из уже текущей темы, нужно также работать с элементами (т.е. скрыть окно и "вешать" обработку клика уже непосредственно на эти самые элементы).
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731373
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
Я давал ссылу на gamedev.ru

MrKoderИ второй момент, насколько я понял, в предыдущей теме вопрос был решен таким образом, что мы попросту скрываем окно и работает уже с его элементами. И чтобы решить задачу из уже текущей темы, нужно также работать с элементами (т.е. скрыть окно и "вешать" обработку клика уже непосредственно на эти самые элементы).
Это был вариант номер 1. К автору и обращайся.
Я топил за вариант номер 2.
По ТЗ он должен работать. Ну у самого опыта на wpf для реализации маловато.
Сделай ты по моему ТЗ. В чем проблема. Код в виде псевдокода я дал.
Профи промолчали, у меня счас Core проект. Мне некогда.
Делай.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731374
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder(т.е. скрыть окно и "вешать" обработку клика уже непосредственно на эти самые элементы).в прошлой теме проси Roman Mejtes скрыть окно и нафига ты создал данную тему?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731508
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Создал новую, чтобы помойки на форуме на было. На кибере за разные вопросы в одной и той же теме могут настучать по голове
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731518
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderПрошлая тема здесь не при чем. Суть здесь абсолютно в другомв прошлой теме было тз про ПЛАГИН к приложению.
Решено?
Покажи приложение А и плагин к нему Б.
Не решено? Пиши в старой теме.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731604
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
В прошлой теме Roman Mejtes отписал решение: "Клик сквозь форму"
В этой теме: "Предотвратить вылет на рабочий стол при активации формы"

Если бы я мог написать этот плагин, то не писал бы сюда, наверное это крайне логично
Что ты хочешь, чтобы я скинул уже 25 раз? Мне его пост сюда переслать?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731606
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*плагин для предотвращения вылета на рабочий стол
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731618
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderВ прошлой теме Roman Mejtes отписал решение: "Клик сквозь форму"
MrKoder*плагин для предотвращения вылета на рабочий стол
Я бы одним ударом уил двух зайцев.
Рисованное информационное окно плагин.
Код ранее я дал.
Пробовать ты не хочешь.
Болтаешь второй день.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731628
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
можешь скинуть сюда xaml окна посмотреть? Уж больно красиво получилось.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731631
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Я не понимаю, что ты хочешь, чтобы я сделал конкретно.
Типа окно, которое пропускает сквозь себя клики и при КЛИКЕ же происходит его активация без вылета на рабочий стол? Это два в одном? Если да, то это бред, если нет - то каким боком здесь прошлая тема?

Прозрачность окна элементарно задается в WPF. Пример самого простейшего такого окна я сюда уже приложил. Как реализовывать именно обработку такой активации кликом я не знаю и не понимаю, поэтому и пишу сюда.
Возвращаясь к изначальному вопросу, что я должен написать?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731633
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_subMrKoder,
можешь скинуть сюда xaml окна посмотреть? Уж больно красиво получилось.

Я там подстер только бордеры. В Source у MediaElement надо еще только путь к файлу указать (у меня в нем музыкальный клип проигрывается).

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<Window x:Class="WpfApp1.Window1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
xmlns:local="clr-namespace:WpfApp1" 
mc:Ignorable="d" 

 Title="MainWindow" Height="700" Width="450" AllowsTransparency="True" Background="Transparent" WindowStyle="None" ResizeMode="CanResizeWithGrip" Topmost="True">
    <Grid Margin="-23,-31,0,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0*"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Border Width="Auto" Height="Auto" Name="windowFrame" 

BorderBrush="#395984" 
Background="#002342" 
Opacity="0.5" 

BorderThickness="10" 
CornerRadius="10,10,10,10" Margin="28,37,10,10" Grid.ColumnSpan="2" >
        </Border>




        <Button x:Name="closeButton" Click="closeButton_Click" Content="Close" Margin="156,543,122,135" Grid.ColumnSpan="2" />

        <Border x:Name="border1" BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="10" Background="#fff" VerticalAlignment="Top" Width="338" Margin="56,643,0,0" Grid.ColumnSpan="2"/>
        <MediaElement Grid.ColumnSpan="2" Source="" HorizontalAlignment="Left" Height="151" Margin="90,106,0,0" VerticalAlignment="Top" Width="304"/>


    </Grid>
</Window>
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731634
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
может тебе попробовать поработать с менеджером уведомлений в WIN 10, чтобы тебе не все приложение разворачивать, когда пришло сообщение какое-либо, а ответить прямо в уведомление. API для wpf по работе с уведомлениями есть точно, а вот насчет можно ли прямо в уведомление зашить какой- либо функционал не уверен.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731636
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_sub,
Но тут возникает такой момент, что не у всех WIin10 стоит. Плюс я пример приложения то привел чисто на бум. Это ведь может быть и музыкальный плеер, какой-нибудь, может быть даже мониторинг ресурсов компьютера и т.д. и т.п.. Что, зачем, для чего это уже другой вопрос. Суть в том, чтобы научить программу работать поверх окна текущего приложения после его активации.

У меня были еще и такие мысли, что ведь изначально, запущенное приложение привязывается к рабочему столу. Т.е. позиционирование опять же, мы ведь можем делать относительно именно рабочего стола (если пишем вот так
Код: c#
1.
2.
3.
4.
public double screenHeight = SystemParameters.FullPrimaryScreenHeight;
        public double screenWidth = SystemParameters.FullPrimaryScreenWidth;
        this.Top = (screenHeight - transparentWindows.Height) / 0x00000002;
        this.Left = (screenWidth - transparentWindows.Width) / 0x00000002;


).

И может быть, возможно как то привязать наше приложение к другому приложению, которое в данный момент запущено во весь экран.
Я, конечно, понимаю, что если это и возможно, то скорее всего реализовывать данную тему будет очень сложно, но как бы вариантов, как я вижу, не особо много
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731638
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderЭто ведь может быть и музыкальный плеер,чужой в чужом процессе?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731640
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123MrKoderЭто ведь может быть и музыкальный плеер,чужой в чужом процессе?
Не совсем понял вопрос
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731646
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderPetro123пропущено...
чужой в чужом процессе?
Не совсем понял вопроснажми 3 клавиши, диспетчер.
Плеер будет иметь свой процесс и твое приложение из одного окна второй. Так?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731647
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нннну да
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderНннну даи как будем управлять или что делать собрался?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731653
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Если не управлять, то будет типа аськи всегда наверху и без активации кликом мышки.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731654
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123и как будем управлять или что делать собрался?
Это было лишь предположение, как реализовать данную задачу я не знаю, повторяю уже 3 раз
Если это нереализуемо -окееей, закрыли тему и все
Если реализуемо и знаешь как - подскажи, не хочешь подсказывать, тебя опять же, никто ни к чему не принуждает
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731655
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я, к сожалению, аськой никогда не пользовался
Но насколько я понял, это будет просто информационное окно? Т.е. тупо вывод информации?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731660
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderЕсли реализуемодля джуна нет. Забудь
MrKoderпросто информационное окно? Т.е. тупо вывод информации?откуда? Придумай что ли.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731663
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас проверил на вин7.
Сзади моя прога работает в фоне.
Спереди поставил notepad.
После окончания работы не заслонило моя прога переднее приложение.
О чем топик я не понял.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731674
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Щас проверил на вин7.
Сзади моя прога работает в фоне.
Спереди поставил notepad.
После окончания работы не заслонило моя прога переднее приложение.
О чем топик я не понял.

Скинь прогу, которую ты запускаешь
Я на ее примере тогда и объясню, чтобы было понятнее зачем этот топик
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
Не могу. Это корпоративное.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731704
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
ты по ходу хочешь, чтобы твое приложение работало типа Skype, когда играешь в cs 1.6, прицелился в AWP - и тут рисуется skype поверх всего экрана?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731737
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давайте попробую еще разок объяснить. Чисто для примера, запускаю свою программу, которая будет висеть поверх всех окон и захожу в ту же саму CS.
На первом скриншоте я играю в контру и окно моего приложения неактивно.
После того, как я кликом активирую мое окно у меня вылезает снизу панель задач. Вот этого быть не должно. Игра как была во весь экран - так и должна оставаться в том же режиме.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731740
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Второй скрин
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731745
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
да не знаю как сейчас, а старый скайп так и работал- таск бар не вылезал.
Ну а если перед тем как твое приложение должно выскочить перед полноэкранным принудительно прятать taskbar и потом его отображать?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731749
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь себе второй монитор и не парься
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731769
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderПосле того, как я кликом активирую мое окнооно пропустило клик под себя и активировалось?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731784
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123MrKoderПосле того, как я кликом активирую мое окнооно пропустило клик под себя и активировалось?

Это окно не сквозное для кликов, оно, как и обычное любое другое окно, ловит клики
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731785
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_subMrKoder,
да не знаю как сейчас, а старый скайп так и работал- таск бар не вылезал.
Ну а если перед тем как твое приложение должно выскочить перед полноэкранным принудительно прятать taskbar и потом его отображать?

Вот ту такой вопрос тогда, а как приложение поймет, что оно накладывается на другое приложение, которое работает в полноэкранном режиме?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731792
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь 90% работы скорее всего с user32.dll.
Найти приложение в полноэкранном режиме можно скорее всего перебором всех дескрипторов окон и нахождения оного в полноэкранном режиме что-то вроде
Код: 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.
25.
26.
27.
28.
29.
30.
[StructLayout(LayoutKind.Sequential)]
    private struct RECT
    {
        public int left;
        public int top;
        public int right;
        public int bottom;
    }

    [DllImport("user32.dll")]
    private static extern bool GetWindowRect(HandleRef hWnd, [In, Out] ref RECT rect);

    [DllImport("user32.dll")]
    private static extern IntPtr GetForegroundWindow();

    public static bool IsForegroundFullScreen()
    {
        return IsForegroundFullScreen(null);
    }

    public static bool IsForegroundFullScreen(Screen screen)
    {
        if (screen == null)
        {
            screen = Screen.PrimaryScreen;
        }
        RECT rect = new RECT();
        GetWindowRect(new HandleRef(null, GetForegroundWindow()), ref rect);
        return new Rectangle(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top).Contains(screen.Bounds); 
    }
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731806
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderЭто окно не сквозное для кликовзадолбал. То сквозное, то обычное, то главное окно main приложения.
Ужас в постановке задачи.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731810
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123MrKoderЭто окно не сквозное для кликовзадолбал. То сквозное, то обычное, то главное окно main приложения.
Ужас в постановке задачи.

100% все понятно.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731850
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,
А куда делось окно со сквозным кликом?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731852
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Если у тебя сложности с пониманием, чем я могу могу помочь?
Задание поставлено четко. С какой радости ты решил, что прошлая и эта темы связаны я понятия не имею. Это лишь твои догадки. Я уже ни раз писал, что в прошлой теме все уже решено, ты упорно ее сюда за каким то тянешь и пытаешься мне всучить.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731853
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoderС какой радости ты решил, что прошлая и эта темыесли не связаны, то прогресс бар на 3 сек вылез и спрятался это проблема?
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731857
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, панель задач.
У нее есть свойство - автоматически скрывать.
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731860
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subперебором всех дескрипторовправа нужны, и не для джуна задачка)
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731862
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Ну вот опять же, скрыть то допустим я найду как, но ведь это же не во всех случаях должно работать именно так, как я и говорил выше.
Человек может юзать приложение и на рабочем столе, когда не будет вообще никаких других окон. В этом случае скрывать панель такое себе
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731874
MrKoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно вот он код скрыть/показать тэскбар
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
public class Taskbar
{
    //Функция FindWindow разыскивает данные о дескрипторе окна верхнего уровня, 
    //чье имя класса и имя окна соответствуют определенным строкам.
    //Эта функция не ищет дочерние окна.
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern int FindWindow(string className, string windowText);

    //Функция ShowWindow устанавливает состояние показа определяемого окна.
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern int ShowWindow(int hwnd, int command);

    //Скрывает окно и активизирует другое окно.
    private const int SW_HIDE = 0;
    //Активизирует окно и отображает его текущие размеры и позицию.
    private const int SW_SHOW = 1;

    protected static int Handle
    {
        get
        {
            //Получаем дескриптор панели задач.    
            return FindWindow("Shell_TrayWnd", "");               
        }
    }
    protected static int StartHandle
    {
        get
        {
            // Получаем дескриптор кнопки Пуск.

            //Для Windows на Русском.
            return FindWindow("Button", "Пуск"); 
            //Для Windows на Английском.
            //return FindWindow("Button", "Start");
        }
    }
    private Taskbar()
    {
        
    }

    public static void Show_Taskbar()
    {
        //Показываем панель задач.
        ShowWindow(Handle, SW_SHOW);            
    }

    public static void Show_StartButton()
    {
        //Показываем кнопку Пуск
        ShowWindow(StartHandle, SW_SHOW);
    }

    public static void Hide_Taskbar()
    {
        //Скрываем панель задач.
        ShowWindow(Handle, SW_HIDE);            
    }

    public static void Hide_StartButton()
    {           
        //Скрываем кнопку Пуск.
        ShowWindow(StartHandle, SW_HIDE);
    }
}
...
Рейтинг: 0 / 0
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #39731878
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrKoder,
А) панель сама скрывается.
Б) ты рано постановкой задач занялся. Если процессы с аськой не видел.
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]