Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Unique_ptr и WriteFile всем привет. есть MS VS 2015 upd2, в которой выполняется такая примерно штука: //выделение памяти unique_ptr<void, some_deleter> p1(VirtualAlloc(NULL, some_size, MEM_COMMIT, PAGE_READWRITE), some_deleter_code); unique_ptr<void, some_deleter> p2(VirtualAlloc(NULL, some_size, MEM_COMMIT, PAGE_READWRITE), some_deleter_code); //заполнение буферов p1.get()=some_data; p2.get()=some_data; https://www.cyberforum.ru/ win-api/ thread1758378.html WinApi. MDI. C++ C++ WinAPI
Написать многооконный текстовый редактор, позволяющий вводить текст, сохранять его на диске в формате * .txt и читать в новое окно приложения. Помогите пожалуйста.
C++ WinAPI Инжект треда из самой длл https://www.cyberforum.ru/ win-api/ thread1758163.html
Можно ли проинжектить поток из вызываемой dll? В игре можно вызвать функцию из библиотеки(через руби win32api), хотелось бы вызовом функции инициализатора проинжектить поток(нужен для отлова другого потока). ПРимерный код dll(Поток создаётся, но рушит приложение) #include "main.h" #include "windows.h" #define DLL extern "C" __declspec(dllexport) // a sample exported function extern "C"...
C++ WinAPI Внедрение в процесс Добрый день. Я только недавно начал писать на С++, так что не ругайтесь сильно. Хочу внедрить поток в обычный процесс. Пытаюсь написать код. Поток внедряется (ошибки проверяются), но, видимо, работает некорректно, потому что процесс начинает глючить. Пробовал много примеров, сам смотрел все функции, пока не получается. Хочу, хотя бы чтобы окно вылезало. PID процесса ввожу пока вручную (беру из... https://www.cyberforum.ru/ win-api/ thread1757360.html
C++ WinAPI Как получить "%USERPROFILE%" из реестра по SID в процессе запущенным от SYSTEM?
Добрый день! Нужна помощь. Есть процесс запущенный от имени SYSTEM. Известен SID пользователя. Необходимо определить для пользователя переменную %USERPROFILE%. Если пытаться открыть RegOpenKeyEx() ключ "HKEY_USERS\<SID>\Volatile Environment", то получаю код ошибки ERROR_FILE_NOT_FOUND. Собственно где/как возможно получить значение %USERPROFILE%?
C++ WinAPI Цвет точки, которая не видна на экране Функции GetPixel() и BitBlt() для получения корректного цвета или правильного копирования области требуют, чтобы точка или область была видна на экране, в противном случае выдают ерундень. Однако мне известна как минимум одна программа (это бот для флеш-игры), которая корректно читает цвета и когда окно флеш-проигрывателя не видно на экране. Разработчик - проклятый буржуин и не пожелал поделиться... https://www.cyberforum.ru/ win-api/ thread1756748.html
C++ WinAPI Как получить размеры клиентской области окна-родителя в функции дочернего окна? https://www.cyberforum.ru/ win-api/ thread1755703.html
задание такое: имеется дочернее окно,которое "убегает" от курсора мыши в пределах родительского окна. я создала главное окно,и дочернее, которое убегает от курсора, но по всему экрану. Помогите,как исправить прогу? фрагмент кода: LRESULT CALLBACK WndProcChild(HWND hWndChild, UINT msg, WPARAM wParam, LPARAM lParam) { RECT rect; switch (msg) { // Необходимо обновить содержимое...
Создание потока по нажатию на клавишу C++ WinAPI
Вот такое задание: Написать програму, которая создает поток по нажатию на клавишу. Каждому созданому в такой способ потоку отвечает круг в окне. Вот такой код: #include <windows.h> #include <stdlib.h> #include <string.h> #include <tchar.h> #include <process.h> #define BUFSIZE 65535
C++ WinAPI Окно не реагирует на мышь Доброго времени суток. Комрады, помогите пожалуйста. Есть программа отрисовки силовых линий системы точечных зарядов. Нужно что бы мышкой можно было менять положение зарядов, но почему-то этого не происходит. Скажите где ошибка? Почему не работает InvalidateRect(hWnd, NULL, TRUE)? #include <windows.h> #include <conio.h> #include <iostream> #include <time.h> #include <math.h> #include... https://www.cyberforum.ru/ win-api/ thread1755386.html C++ WinAPI Заморозить дочерний процесс Помогите,можно пример заморозки дочернего процесса? Я не знаю как это сделать,уже минут 20 гуглю,ничего подобного нету :/ https://www.cyberforum.ru/ win-api/ thread1755292.html
Две одинаковые функции работают по-разному. WinApi + asm C++ WinAPI
Задача: ввести строку(winapi), удалить пробелы(asm) и вывести измененную строку(без пробелов)(winapi). Почему, когда я вызываю (стр. 202) функцию (стр. 9) func(), то она работает правильно, но если я вызываю эту же функцию, но уже в виде отдельного модуля StrDel, то она работает неправильно? После метки m1 (в результате пошагового прохода)команда repne scasb работает по-разному(в func edi...
C++ WinAPI Combobox в окне с другим фоном. Как убрать белые углы combobox? https://www.cyberforum.ru/ win-api/ thread1755027.html
Основное окно имеет градиентную заливку фона. Также включены стили windows через манифест. #pragma comment(linker,""/manifestd
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
0

WC_LISTVIEW - C++ WinAPI - Ответ 9252923

09.06.2016, 12:52. Показов 2453. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
есть такой код
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#include <windows.h>
#include <commctrl.h>
/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
 
/*  Make the class name into a global variable  */
char szClassName[ ] = "WindowsApp";
 
HWND hListView;
HINSTANCE hInst;
HWND hWndStatic ;
 
void AddCol(HWND hwnd, int ColWidth, char *Text, int iSubItem)
{
    LV_COLUMN p; 
    p.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
    p.fmt = LVCFMT_LEFT;                                        // òèï âûðàâíèâàíèÿ äëÿ ñòîëáöà
    p.cx = ColWidth;                                            // øèðèíà ñòîëáöà â ïèêñåëàõ
    p.pszText = Text;                                           // àäðåñ ñòðîêè çàãîëîâêà ñòîëáöà
    p.cchTextMax = 2;                                       // ðàçìåð áóôåðà, àäðåñ êîòîðîãî                  
    p.iSubItem = iSubItem;                                      // íîìåð äîïîëíèòåëüíîãî ýëåìåíòà 
    
    ListView_InsertColumn(hwnd, 0, &p);
}
 
LVITEM lvi;
 
int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
 
{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */
 
    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);
 
    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
 
    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
        return 0;
 
    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           "Windows App",       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );
 
    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);
 
    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&messages);
    }
 
    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}
 
 
/*  This function is called by the Windows function DispatchMessage()  */
 
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
        
       static char rgApplInfo[10];
        
 
        
    switch (message)                  /* handle the messages */
    {
         
          case WM_NOTIFY:
       
        LPNMHDR lpnmHdr;
        lpnmHdr = (LPNMHDR)lParam;
       
        if ((lpnmHdr->idFrom == 8999) && (lpnmHdr->code == NM_CLICK))
        {
       
            LPNMLISTVIEW pnmLV = (LPNMLISTVIEW)lParam;
            char buf[10] ;
 
       
            ListView_GetItemText(lpnmHdr->hwndFrom, pnmLV->iItem, pnmLV->iSubItem, buf, 10);
 
       
   // MessageBox(0,buf,0,0);
       
        }
        break;
         
           
           case WM_CREATE:
             
           InitCommonControls ();
                
                
                  hListView = CreateWindow(WC_LISTVIEW, "", 
        WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_REPORT | LVS_EDITLABELS,  
        0, 0, 800, 500, hwnd,(HMENU) 8999, hInst, NULL);
                
    AddCol(hListView, 150, "Ñòîëáåö3", 0);  //Äîáàâèëè ñòîëáåö ¹3
    AddCol(hListView, 150, "Ñòîëáåö2", 1);  //Äîáàâèëè ñòîëáåö ¹2
    AddCol(hListView, 150, "Ñòîëáåö1", 2);  //Äîáàâèëè ñòîëáåö ¹1
 
 
 
memset(&lvi, 0, sizeof(lvi));
lvi.mask = LVIF_IMAGE | LVIF_TEXT | LVIF_PARAM;
lvi.pszText = LPSTR_TEXTCALLBACK;
for(int i=0; i<11; i++)
{
  lvi.iItem = i;
  lvi.iSubItem = 5;
  lvi.cchTextMax = 40;
  lvi.lParam = (LPARAM)&rgApplInfo[i];
    
  lvi.iImage = i;
  ListView_InsertItem(hListView, &lvi);
 
  lvi.iItem = i;
  lvi.iSubItem = 0;
  ListView_InsertItem(hListView, &lvi);
 
  lvi.iItem = i;
  lvi.iSubItem = 2;
  ListView_InsertItem(hListView, &lvi);
}                
                
               
ListView_SetItemText(hListView, 0, 2, "3");
               ListView_SetItemText(hListView, 0, 1, "2");
               ListView_SetItemText(hListView, 0, 0, "1");               
               
               
               
                break;
           
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }
 
    return 0;
}
вопросы -
1) почему выделяется только первая колонка а остальные не доступны
2) почему не редактируются колонки , т.е. если я напишу что то другое и нажму enter , то всё равно будет прежняя надпись

Вернуться к обсуждению:
WC_LISTVIEW C++ WinAPI
0
Лучшие ответы (1)
09.06.2016, 12:52
Новые блоги и статьи
Что такое хорошо и что такое плохо, вид сбоку. Индивид и общество - грань не нарушения.
Hrethgir 18.01.2025
В моей личной жизни и времени, я рассуждаю категорией "хуже-лучше", в том плане, когда меня спросили например - "а зачем ты делаешь свой процессор?", то я ответил - "чтобы сделать свою жизнь лучше". . .
Передача по ссылке или по значению в Java?
InfoMaster 18.01.2025
В мире программирования на Java одним из ключевых аспектов, требующих глубокого понимания, является механизм передачи параметров в методы. Этот фундаментальный концепт часто становится источником. . .
Тернарный условный оператор в Python
InfoMaster 18.01.2025
В мире программирования существует множество инструментов и конструкций, позволяющих создавать эффективный и лаконичный код. Одним из таких инструментов является тернарный условный оператор, который. . .
Как удалить неотслеживаемые файлы из рабочего дерева Git
InfoMaster 18.01.2025
В процессе разработки программного обеспечения с использованием системы контроля версий Git часто возникает необходимость в управлении неотслеживаемыми файлами. Неотслеживаемые файлы (untracked. . .
Что делает код if __name__ == "__main__": в Python
InfoMaster 18.01.2025
В мире программирования на Python существует множество важных концепций, и одной из наиболее интересных является конструкция if __name__ == "__main__". Эта специальная конструкция играет ключевую. . .
Как заставить Git забыть об отслеживаемом файле, добавленном в .gitignore
InfoMaster 18.01.2025
В мире разработки программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса, позволяя эффективно отслеживать изменения в коде и управлять ими. Однако. . .
Что означает use strict в JavaScript и для чего используется
InfoMaster 18.01.2025
В мире современной веб-разработки JavaScript играет ключевую роль как один из основных языков программирования. По мере его эволюции возникла необходимость в механизмах, которые помогли бы. . .
Как работать со скрытыми (hidden) элементами в jQuery
InfoMaster 18.01.2025
В современной веб-разработке управление видимостью элементов на странице является одним из ключевых аспектов создания интерактивных пользовательских интерфейсов. jQuery предоставляет мощный набор. . .
Как переключаться между ветками (Branch) с помощью checkout в Git
InfoMaster 18.01.2025
Ветки в Git являются одной из ключевых концепций для управления версионностью кода, позволяя разработчикам эффективно работать в команде и параллельно развивать программные проекты. Каждый новый. . .
Что такое стек и куча, чем они отличаются и где находятся
InfoMaster 18.01.2025
Понимание основных концепций памяти в программировании В мире современного программирования эффективное управление памятью играет ключевую роль в создании производительных и надежных приложений. . . .
Как использовать комментарии в JSON
InfoMaster 18.01.2025
JSON (JavaScript Object Notation) представляет собой легкий и широко используемый формат обмена данными, который стал стандартом де-факто для веб-приложений и программных интерфейсов. При работе с. . .
Как заставить git pull перезаписать локальные файлы в Git
InfoMaster 18.01.2025
Проблема перезаписи локальных файлов в Git При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо синхронизировать локальный репозиторий с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru