Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Сохранение записи в реестре при перезагрузке https://www.cyberforum.ru/ win-api/ thread1378477.html
Делаю так _tsetlocale(LC_ALL, _T("Russain")); _TCHAR szPath = _T("Software\\Classifiers\\"); HKEY hKey; RegCreateKeyEx(HKEY_CURRENT_USER, szPath, 0, NULL, REG_OPTION_VOLATILE, KEY_WRITE, NULL, &hKey, NULL); RegSetValueEx(hKey, _T("Style"), 0, REG_SZ, (BYTE*)AnsiString(sSkinManager1->SkinName).c_str(), sSkinManager1->SkinName.Length()); RegCloseKey(hKey); Открываю программу,...
C++ WinAPI Отладка (памяти)
Мне требуется узнать состояние кучи процесса, а точнее всей кучи процесса, то есть сколько всего программа выдилила, по каким адресам и размерам... Так же хочу узнать память ГПУ текущего процесса...
C++ WinAPI Получение координаты левого верхнего угла окна Ребята, как получить текущее координаты левого верхнего угла окна, я использую следующее... RECT rect; GetWindowRect(*main_window, &rect); MoveWindow(*main_window, вот тут х, вот тут у, 500, 500, TRUE); Проблема в том, что если я вписываю координаты 100х 100у всё работает, не получается использовать rect. MoveWindow(*main_window, rect.left, rect.bottom, 500, 500, TRUE); https://www.cyberforum.ru/ win-api/ thread1377678.html C++ WinAPI DeleteFile Есть директория N в ней лежит программа, в этой папке есть след пусть N\Projects\MyProjects В MyProjects лежит файл test.text Как мне его удалить? https://www.cyberforum.ru/ win-api/ thread1377616.html
C++ WinAPI WS_CLIPCHILDREN только для определённых окон
у окна стоит ститль WS_CLIPCHILDREN, го мне его нужно применить не ко всем контролам, как можно так реализовать?
C++ WinAPI Вывести текст в выделенное окно Доброго времени суток. Недавно захотел узнать про хуки, и решил написать простенькую программу, котораяпри нажатии какой-нибудь клавиши будет писать фразу в том окне, в котором идет набор. Например, если я пишу сюда на форум, а потом нажимаю F7, в поле сообщения должна появитсья фраза test, и так в любом окне. В перехвате клавишь пробелм не возникло, а как передать сообщение непосредственно в... https://www.cyberforum.ru/ win-api/ thread1376826.html
C++ WinAPI Создание фонового процесса в одном потоке У меня назрел вопрос, использовал функцию std::thread Но она создаёт параллельный поток, а мне нужна фоновая задача в одном потоке, возможно реализовать такое? https://www.cyberforum.ru/ win-api/ thread1376722.html Остановка SetTimer C++ WinAPI
Ребята, не могу остановить SetTimer. В шапке класса UINT_PTR hTimer; Стартую в классе hTimer = ::SetTimer(child_window, WM_USER+1, 100, NULL); Пытаюсь удалить таймер
C++ WinAPI Отображение сайта в приложении https://www.cyberforum.ru/ win-api/ thread1376661.html
Есть сайт и я хочу чтобы он просто отобразился в моему приложении. Интересует как это реализовать и хоты какая-то полезная информация. Как это реализовать или знаете функцию. Искал. не могу найти вообще информацию об этом.
C++ WinAPI Вывести диалоговое окно, сочетания клавиш В общем, есть уже готовая программа, которая меняет иконки приложения по таймеру. Нужно в нее добавить возможность открытия диалогового окна по сочетанию клавиш, и обеспечить в этом окне возможность смены "периода" таймера смены иконок. Главный вопрос - как создать второе диалоговое окно? Как дочернее для основного? Для него нужна своя оконная процедура? Как передать то, что ввел во втором окне... https://www.cyberforum.ru/ win-api/ thread1376440.html
C++ WinAPI SetWindowsHookEx и WM_CREATE
Доброе утро. Необходимо отлавливать создание окон по их заголовкам. Есть файл config.cfg, в котором находится список с заголовками окон (например, "Удалить файл"). С помощью BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) отлавливаю эти окна в бесконечном цикле и пишу в лог их открытие и закрытие. Такой подход с бесконечным циклом очень сильно нагружает процессор. Пожалуйста, помогите...
C++ WinAPI Перехват создания окна https://www.cyberforum.ru/ win-api/ thread1375833.html
Доброе утро. Приведите, пожалуйста, пример перехвата создания окна с помощью хука. То есть пример фоновой программы, которая отлавливает окно с заранее определенным заголовком, например, "Удалить файл" и при его появлении (и закрытии) пишет в файл что нибудь.
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
20.02.2015, 22:09  [ТС] 0

Скрытая отрисовка окна - C++ WinAPI - Ответ 7253067

20.02.2015, 22:09. Показов 2441. Ответов 23
Метки (Все метки)

Ответ

Цитата Сообщение от castaway Посмотреть сообщение
При всём желании помочь я говорил не об этом. Я хотел увидеть простое оконное приложение с регистрацией класса, созданием окна и процедурой обработки сообщений.
То, что ты сделал, нельзя назвать простейшим примером, воспроизводящим проблему.
а как мне иначе показать проблему? в создании окна проблем нет, проблема в том что мерцает второе окно когда оно повторно активизируется. ну вот регистрация класса и процедура обработки

PS:а есть у тебя аська или скайп?

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
WNDCLASSEX wc       = { 0 };
    wc.cbSize           = sizeof( WNDCLASSEX );                 // Размер структуры
    wc.style            = CS_HREDRAW | CS_VREDRAW | CS_PARENTDC;                // Перерисовывать окна по вертикали и горизонтали при измении размеров
    wc.lpfnWndProc      = WndProc;                              // Адрес функции окна обработки сообщений
    wc.cbClsExtra       = 0;                                    // Должно быть ноль
    wc.cbWndExtra       = 0;                                    // Должно быть ноль
    wc.hInstance        = ::histance;                           // Дескриптор экземпляра приложения
    wc.hIcon            = LoadIcon( NULL, IDI_APPLICATION );    // Загрузка иконки
    wc.hCursor          = LoadCursor( NULL, IDC_ARROW );        // Загрузка курсора
    wc.hbrBackground    = ( HBRUSH )( COLOR_WINDOW + 1 );       // Цвет окна
    wc.lpszClassName    = CLASS_NAME;                           // Имя класса
    wc.hIconSm          = LoadIcon( NULL, IDI_APPLICATION );    // Загрузка иконки
RegisterClassEx( &wc );
C++ (Qt)
1
2
3
4
5
6
7
8
9
::hWnd = CreateWindow(  CLASS_NAME,                                             
        WND_NAME,                                               
        WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_TABSTOP | WS_THICKFRAME |WS_CLIPSIBLINGS,                                    
        CW_USEDEFAULT, 0,                                       
        CW_USEDEFAULT, 0,                                       
        NULL,                                                   
        NULL,                                               
        ::histance,                                                         
        NULL );




C++ (Qt)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Функция окна обработки сообщений
LRESULT CALLBACK WndProc(   HWND    hWnd,       // Дескриптор окна 
                         UINT   msg,        // ID сообщения
                         WPARAM wParam, // Дополнительная информация о сообщении
                         LPARAM lParam )    // Дополнительная информация о сообщении
{
 
    if( msg == WM_ERASEBKGND ){
        return 1;
    }
    if( msg == WM_PAINT ){
 
        LP_BM_Image LPBM = &MapWindowBM_Image[(INT64)hWnd];
 
        if( LPBM->SetBGImage ){
 
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hWnd, &ps);
 
 
            if(LPBM->LoadBGImage){
 
                LPBM->BGID.init = 1;
                LPBM->BGID.memHdc = CreateCompatibleDC(hdc);
                LPBM->BGID.memBM = CreateCompatibleBitmap(hdc,ps.rcPaint.right,ps.rcPaint.bottom);
                HBITMAP old = (HBITMAP)SelectObject (LPBM->BGID.memHdc, LPBM->BGID.memBM );
                DeleteObject(old);
                Gdiplus::Graphics graphics(LPBM->BGID.memHdc);
                Gdiplus::Image image(LPBM->BGimagePath.c_str());
                graphics.DrawImage(&image,0,0,ps.rcPaint.right,ps.rcPaint.bottom);
                LPBM->LoadBGImage = 0;
 
                BitBlt(hdc,0,0,ps.rcPaint.right,ps.rcPaint.bottom,LPBM->BGID.memHdc,0,0,SRCCOPY);
                if(MapCopyWindowBG.find((INT64)hWnd) == MapCopyWindowBG.end() ){ // если копии hdc еще нету
                    BGimageData BM;
                    BM.memHdc = CreateCompatibleDC(hdc);
                    BM.memBM = CreateCompatibleBitmap(hdc,ps.rcPaint.right,ps.rcPaint.bottom);
                    DeleteObject((HBITMAP)SelectObject ( BM.memHdc, BM.memBM ));
                    BitBlt(BM.memHdc,0,0,ps.rcPaint.right,ps.rcPaint.bottom,hdc,0,0,SRCCOPY);
                    BM.init = 1;
                    MapCopyWindowBG.insert(map < INT64, BGimageData, less<INT64> >::value_type((INT64)hWnd,BM));
                }
 
            }else{
                BitBlt(hdc,0,0,ps.rcPaint.right,ps.rcPaint.bottom,LPBM->BGID.memHdc,0,0,SRCCOPY);
            }
            EndPaint(hWnd, &ps);
            return 0;
        }else{
            if( MapCopyWindowBG.find((INT64)hWnd) == MapCopyWindowBG.end() ){
                RECT rc;
                GetClientRect(hWnd,&rc);
                HDC hdc = GetDC(hWnd);
                BGimageData BM;
                BM.memHdc = CreateCompatibleDC(hdc);
                BM.memBM = CreateCompatibleBitmap(hdc,rc.right,rc.bottom);
                DeleteObject((HBITMAP)SelectObject ( BM.memHdc, BM.memBM ));
                BitBlt(BM.memHdc,0,0,rc.right,rc.bottom,hdc,0,0,SRCCOPY);
                BM.init = 1;
                MapCopyWindowBG.insert(map < INT64, BGimageData, less<INT64> >::value_type((INT64)hWnd,BM));
                ReleaseDC(hWnd,hdc);
            }
            return DefWindowProc( hWnd,msg,wParam,lParam );
        }
 
 
    }
 
 
    if( msg == WM_DESTROY) {
 
 
        PostQuitMessage( 0 );
 
    }else{
 
        return DefWindowProc(   hWnd,       // Дескриптор окна 
            msg,        // ID сообщения
            wParam, // Дополнительная информация о сообщении
            lParam );   // Дополнительная информация о сообщении
    }
 
 
    return 0;
 
}


Вернуться к обсуждению:
Скрытая отрисовка окна C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2015, 22:09
Готовые ответы и решения:

Отрисовка окна(C#)
Здравствуйте! столкнулся с такой проблемой, использую код private void Form1_Paint(object...

Отрисовка окна
Привет всем. Не правильная отрисовка окна, координаты мыши остаются на окне. Как исправить?...

MFC отрисовка окна
Привет. В MFC для MDI существует метод OnDraw для отрисовки окна. Но этот метод вызывается только...

Отрисовка диалогового окна на главном.
Непонятная проблема возникла. Создал диалоговое окно, вызываю его, а оно отрисовывается на главном...

23
20.02.2015, 22:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2015, 22:09
Помогаю со студенческими работами здесь

Отрисовка окна и его изменение
Делаю приложения для себя для изучения английских слов, программа выбирает из словаря слово и...

Почему отрисовка начинается не с начала окна?
Ребята объясните пожалуйста. Начал разбираться в openGL. Возник вопрос хочу нарисовать обычную...

D3D11 - Отрисовка изображения в заданной части окна
Добрый день всем! Надеюсь на помощь форумчан в следующем вопросе: Итак, есть тектура, т.е....

скрытая сьемка
Мне нужно на ноуте с виндовз 8.1 поставить сьемку через вебкамеру и потушитб монитлр чтоб...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru