Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Убрать мерцание
Помогите пожалуйста убрать мерцание, уже голову сломал:cry: #include <Windows.h> #include <iostream> #include <conio.h> #include <clocale> #include <cstdio> #include <thread> using namespace... Мариф, проблема решается использованием следующих функций: CreateCompatibleDC // создаем копию контекста CreateDIBSection // создаем под нее буфер SelectObject // привязываем второе к первому...
C++ WinAPI Способы защиты файлов/папки https://www.cyberforum.ru/ win-api/ thread2111968.html
HANDLE H = CreateFileA("D:\XXX", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS, NULL); С помощью этого кода можно получить прекрасное окошечко, что... По нормальному вам нужно копать в сторону фильтров файловой системы miniFilter. Махинации в пользовательском режиме до одного места.
C++ WinAPI Передача информации между процессами через MappingFile
Задача такая, реализовать программу копирующую файл, где в одном процессе происходит чтение, а во втором запись, для передачи данных между процессами решил использовать MappingFile, но не могу понять... Дауж... загнули вы... (куча болтовни, а толку мало) Задача такая, реализовать программу копирующую файл, где в одном процессе происходит чтение, а во втором запись, для передачи данных между...
C++ WinAPI Как проверить, указывают ли 2 открытых хендла на один и тот же физический объект? (напр., ключ реестра) https://www.cyberforum.ru/ win-api/ thread2110984.html
Собственно, сабж. Dragokas, вроде хендл уникальный идентификатор. Если хендл тот-же, то и указывает на одно и то же. А если нет, то и указывают они на разные объекты. Или я что-то путаю? :scratch:
C++ WinAPI Некорректный вывод текста из окна редактора Воспроизвел пример однострочного тестового редактора из книги. Так вот, при вводе текста в окно редактора и нажатии ОK мне выдает текст который я ввел + кучу какого-то мусора после него. Как это... Спасибо Добавлено через 3 часа 18 минут Хотя нет, не робит. Выдает пустое окно https://www.cyberforum.ru/ win-api/ thread2111129.html C++ WinAPI Как закрыть поток в чужом процессе зная адрес этого потока https://www.cyberforum.ru/ win-api/ thread2111610.html
Здравствуйте, я хочу закрыть поток в чужом процессе зная адрес потока (test.dll!test001+0x60520), как это можно сделать ?? PS: В программе Process Hacker 2 есть вкладка Thread и там есть этот... Адрес потока ничего не даст, нужен его идентификатор. Получить его из заданного процесса можно используя Tool Help API.
C++ WinAPI Нестандартное окно с++ Стало очень интересно, каким образом рисуются окна, выглядящие не так, как дефолтные. Например, каким образом нарисовано окно google chrome или той же самой visual studio. Пытался порыться в коде... http://www.sources.ru/cpp/cpp_create_region_from_file.shtml http://www.sources.ru/cpp/bitmap/regions.shtml http://www.sources.ru/cpp/cpp_shape_to_window.shtml ну и WPF (если интересен шарп)... https://www.cyberforum.ru/ win-api/ thread2112616.html C++ WinAPI Увеличение размера строки при нажатии левой кнопки мыши https://www.cyberforum.ru/ win-api/ thread2112229.html
Хочу выведенную строку увеличивать (размер шрифта) при нажатии левой кнопки мыши. Но ничего не происходит, а понять не могу что: LRESULT CALLBACK windowprocessforwindow(HWND handleforwindow, UINT... LRESULT CALLBACK windowprocessforwindow(HWND handleforwindow, UINT msg, WPARAM wParam, LPARAM lParam) { static int a; static int b; switch (msg) { case WM_DESTROY: {
C++ WinAPI Очень нужен аналог FindFileData https://www.cyberforum.ru/ win-api/ thread2110992.html
#include<windows.h> using namespace std; int main() { WIN32_FIND_DATA FindFileData; HANDLE hf; hf = FindFirstFile("c:\\", &FindFileData); system("pause"); IlyaKr, не спешите с выводами. А как вы хотите чтоб этот код начал работать? - не указана маска, по которой будет производится поиск - вы найдёте только один файл, т.к. не вызываете FindNextFile -...
C++ WinAPI Не получается создать дочернее окно Всем привет!!! Пытаюсь создать главное окно и дочернее но не чего не выходит код компилируется без ошибок программа запускается но окно на рабочем столе не появляется. #include <windows.h>... oleg rus, поставьте после RegisterClassEx (&wndclass); следующее: printf("RegisterClassEx: %d \n", GetLastError()); Если результат не 0, смотрите объяснение тут:... https://www.cyberforum.ru/ win-api/ thread2111146.html
C++ WinAPI Задать приоритет процесса в C++ WinAPI Доброго времени суток. Пытаюсь изменить приоритет процесса но ничего не выходит... Может у кого то есть какая то уже проверенная функция для этого. Знаю что нужно использовать SetPriorityClass: ... Но ничего не происходит...Что, и даже функция SetPriorityClass результат (возможно - ошибку) не возвращает? А если возвращает - то какую? https://www.cyberforum.ru/ win-api/ thread2113244.html C++ WinAPI Чтения результатов ввода со сканера RS-232(com-port) через ReadFile/CreateFile WinAPI
Доброго времени суток. Есть задача, считать информацию со сканера RS-232 (com-port). Как правильно это делать через ReadFile? Думал читать по 1 байту, а как потом компоновать и преобразовывать?... BYTE tmpByte, SerialBuffer; int i = 0; do { bStatus = ReadFile(g_hComm, &tmpByte, sizeof(BYTE), &dwBytesCount, NULL); if (!bStatus)
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 23
30.10.2017, 23:00  [ТС] 0

MappingFile передача информацию между процессами - C++ WinAPI - Ответ 11668403

30.10.2017, 23:00. Показов 6621. Ответов 15
Метки (Все метки)

Ответ

ISergey,
пробовал, не получается считать во втором процессе

Добавлено через 47 секунд
ISergey, мне массив из mapping надо записать в файл, вот это не проходит

Добавлено через 32 минуты
ISergey,
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
#include <iostream>
 
#include "windows.h"
 
 
#include <vector>
#include <stdio.h>
#include <io.h>
 
#include <mutex>
#include <fstream>
#include <thread>
#include <memory.h>
#include <malloc.h>
#include <string.h>
#include "ShellAPI.h"
 
using namespace std;
 
#define BUF_SIZE 256
TCHAR szName[]=TEXT("Global\\MyFileMappingObject");
TCHAR* szMsg;
char name[30];
 
char newname[30];
 
int _tmain()
{   
 
 
    setlocale(LC_ALL, "Russian");
    cout << "какой файл копируем" << endl;
    cin >> name;
 
    FILE * ptrFile = fopen(name, "rb");
    if (ptrFile == NULL)
    {
        fputs("Ошибка файла", stderr);
        exit(1);
    }
    fseek(ptrFile, 0, SEEK_END);
    long lSize = ftell(ptrFile);
 
    rewind(ptrFile);
    szMsg = (TCHAR*)malloc(sizeof(TCHAR) * lSize);
    if (szMsg == NULL)
    {
        fputs("Ошибка памяти", stderr);
        exit(2);
    }
    size_t result = fread(szMsg, 1, lSize, ptrFile);
    if (result != lSize)
    {
        fputs("Ошибка чтения", stderr);
        exit(3);
    }
    cout << "Чтение" << endl;
 
 
   HANDLE hMapFile;
   LPCTSTR pBuf;
 
   hMapFile = CreateFileMapping(
                 INVALID_HANDLE_VALUE,    // use paging file
                 NULL,                    // default security
                 PAGE_READWRITE,          // read/write access
                 0,                       // maximum object size (high-order DWORD)
                 BUF_SIZE,                // maximum object size (low-order DWORD)
                 szName);                 // name of mapping object
 
   if (hMapFile == NULL)
   {
      _tprintf(TEXT("Could not create file mapping object (%d).\n"),
             GetLastError());
      return 1;
   }
   pBuf = (LPTSTR) MapViewOfFile(hMapFile,   // handle to map object
                        FILE_MAP_ALL_ACCESS, // read/write permission
                        0,
                        0,
                        BUF_SIZE);
 
   if (pBuf == NULL)
   {
      _tprintf(TEXT("Could not map view of file (%d).\n"),
             GetLastError());
 
       CloseHandle(hMapFile);
 
      return 1;
   }
 
 
   CopyMemory((PVOID)pBuf, szMsg, (_tcslen(szMsg) * sizeof(TCHAR)));
    _getch();
 
   UnmapViewOfFile(pBuf);
 
   CloseHandle(hMapFile);
 
   return 0;
}
Добавлено через 1 минуту
ISergey, а вот второй процесс
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
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
#include <iostream>
 
#include "windows.h"
 
 
#include <vector>
#include <stdio.h>
#include <io.h>
 
#include <mutex>
#include <fstream>
#include <thread>
#include <memory.h>
#include <malloc.h>
#include <string.h>
#include "ShellAPI.h"
 
using namespace std;
#pragma comment(lib, "user32.lib")
 
#define BUF_SIZE 256
TCHAR szName[] = TEXT("Global\\MyFileMappingObject");
 
int _tmain()
{
    HANDLE hMapFile;
    LPCTSTR pBuf;
 
    hMapFile = OpenFileMapping(
        FILE_MAP_ALL_ACCESS,   // read/write access
        FALSE,                 // do not inherit the name
        szName);               // name of mapping object
 
    if (hMapFile == NULL)
    {
        _tprintf(TEXT("Could not open file mapping object (%d).\n"),
            GetLastError());
        return 1;
    }
 
    pBuf = (LPTSTR)MapViewOfFile(hMapFile, // handle to map object
        FILE_MAP_ALL_ACCESS,  // read/write permission
        0,
        0,
        BUF_SIZE);
 
    if (pBuf == NULL)
    {
        _tprintf(TEXT("Could not map view of file (%d).\n"),
            GetLastError());
 
        CloseHandle(hMapFile);
 
        return 1;
    }   
    FILE * ptrFile = fopen("234.txt", "wb");
    Sleep(10000);
    fwrite(pBuf, 1,  BUF_SIZE, ptrFile); // записать в файл содержимое буфера
    cout << "Запись" << endl;
 
    MessageBox(NULL, pBuf, TEXT("Process2"), MB_OK);
 
    UnmapViewOfFile(pBuf);
 
 
 
    CloseHandle(hMapFile);
 
    return 0;
}


Вернуться к обсуждению:
MappingFile передача информацию между процессами C++ WinAPI
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2017, 23:00
Готовые ответы и решения:

Передача информации между процессами через MappingFile
Задача такая, реализовать программу копирующую файл, где в одном процессе происходит чтение, а во втором запись, для передачи данных между...

Передача строки символов между процессами с использованием именованных каналов
Нашел пример по теме, но как нужно запускать эти части и произвести передачу данных от одного процесса к трем другим? Серверная часть:...

Обмен данными между процессами
При создании дочернего процесса при помощи функции BOOL CreateProcess ( LPCTSTR lpApplicationName, // имя...

15
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2017, 23:00
Помогаю со студенческими работами здесь

Открытие MappingFile
Такая проблема, создаю в одном процессе мап файл с глобальный именем TCHAR szName=TEXT(&quot;Global\MyFileMappingObject&quot;); TCHAR...

Обмен сообщениями между процессами (не потоками одного процесса!!!)
В общем есть несколько процессов (отдельных экзешников). Им необходимо вместе работать. Причем у меня есть свой класс семафора и...

Как лучше передать информацию между двумя процессами?
Суть такая: имеем службу, исполняющую функцию сервера, выполняющую функции архивирования по расписанию. И имеется клиент, который передаёт...

Передача handle между процессами
Есть 1й процесс который создает файл и записывает в него информацию из Edit, после чего создает 2й поток и в качестве параметра передает...

Передача сообщений между процессами
Python 3.4. GUI - WxPython Имеется локальный сервер на Flask. На сервере крутится страничка, которая каждую секунду опрашивает БД....

0
Новые блоги и статьи
std::mutex в C++: Хитрости и тонкости использования
Wired 03.03.2025
В C++ ключевым инструментом для обеспечения корректной работы параллельных процессов выступает std::mutex – примитив синхронизации, появившийся в стандарте C++11. До его появления использовали. . .
std::span в C++: Производительно­сть и практическое использование
Wired 03.03.2025
Традиционная работа с указателями и массивами часто приводит к ошибкам и уязвимостям в безопасности. Именно поэтому в C++20 появился std::span - легковесная обертка, обеспечивающая безопасный. . .
std::span в C++: Константность и безопасность типов
Wired 03.03.2025
std::span - представитель семейства view-типов, появившийся в стандарте C++20. Этот компонент предоставляет легковесное и эффективное решение для работы с непрерывными последовательностями данных,. . .
std::span в C++: Subview и Slice
Wired 03.03.2025
std::span - невладеющий тип данных C++, который предоставляет гибкий интерфейс для работы с непрерывными последовательностями элементов. Этот тип существенно упрощает обработку массивов и. . .
std::span в C++: Доступ к элементам и итерирование
Wired 03.03.2025
Появление std::span в стандарте C++20 стало значительным шагом вперед, предоставив разработчикам средство для безопасного и производительного доступа к непрерывным последовательностям элементов. . . .
std::span в C++: Управление массивами данных без владения
Wired 03.03.2025
Новый класс std::span, появившийся в стандарте C++20, открывает возможности для оптимизации работы с последовательными наборами данных. По сути, это легковесная обертка, которая предоставляет доступ. . .
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru