powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
11 сообщений из 61, страница 3 из 3
Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
    #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
11 сообщений из 61, страница 3 из 3
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Общение с окном программы без вылета на рабочий стол, если находимся в другом приложении
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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