Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Запись значения в память из внедренной dll Есть в памяти процесса, например, адрес 0xAAAAAAAA в него надо записать нужное значение из внедренной в этот процесс dll. Пробовал так: DWORD addr=0xAAAAAAAA; DWORD value=0x2C; memcpy(&addr,... А если так: PDWORD addr=0xAAAAAAAA; PDWORD value=0x2C; memcpy(addr, value, 4); https://www.cyberforum.ru/ win-api/ thread995176.html C++ WinAPI Можно ли узнать, как система создает и заполняет шаблон? Здравствуйте. Извините, если тема поднималась. Пользовался поиском, но не смог нормально сформулировать запрос Задача следующая. есть приложение. хочу автоматизировать процесс создания и заполнения... существует ли возможность проследить каждый шаг создания нового шаблонаШаблона чего? Не, ну понятно, что у тебя есть какое-то приложение. Но нам-то откуда знать, что за приложение, и что за шаблоны... https://www.cyberforum.ru/ win-api/ thread994746.html
C++ WinAPI Изображение скрытого TWinControl https://www.cyberforum.ru/ win-api/ thread994789.html
Среда разработки C++ Builder XE Есть динамически созданный и скрытый наследник от TWinControl, например TMemo. Требуется получить его полное изображение. Т.е. сделать"скриншот" компонента, не... к решению натолкнули на другом форуме... в общем дело было так: ////////////////////////////////////////////////////////////////// // Создание тестовох компонентов...
C++ WinAPI строка https://www.cyberforum.ru/ win-api/ thread995943.html
#include <Windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdline, int nCmdShow) { MessageBox(NULL, "привет в окне!", "привет",... Потому что L"привет в окне!" как пример. И для всех строк так.
C++ WinAPI Как узнать, нажата ли кнопка свертывания окна? https://www.cyberforum.ru/ win-api/ thread995199.html
и вместо стандартных действий свертывания окна направить его в трей? Я предпологаю надо делать хук, но на какое событие и как? все получилось, теперь еще одна проблема, как создать контекстное меню при клике правой кнопкой мыши по иконке в трее и при двойном клике левой открывать окно программы? на msdn читал так и не...
C++ WinAPI Программный запрет на запуск приложений https://www.cyberforum.ru/ win-api/ thread996016.html
Нужен совет по сабжу. В Сети полно статей по этому вопросу, но все они по тем или иным причинам не подошли. Интересуют альтернативные варианты. Требуется организовать перехват запуска одного... Нет. callback приходит в тот момент, когда создано адресное пространство нового процесса и проинициализированы основные структуры. Возможно. Но процесс ведь не замораживается на время обработки...
C++ WinAPI Найти скриншотер
Есть программа. она переодически (3раза в сек) читает DC экрана. распознаёт его и отсылает данные на сервер. Есть вторая программа. её окна распознают. покерный клиент. Вопрос: может ли покерный... Способов полно.
C++ WinAPI Оператор условия
Столкнулся с такой проблемой: Если написать вот такой код, то все работает нормально: if (x16 == true) { KillTimer(hWnd, 1); MessageBox(hWnd, TEXT("Поздравляю, ты победил!"), TEXT("Game... (x16 == true) тавтология опасная ошибками в языке определен только false 0 все остальное true соответственно и 1 true и 2 true но между собой они не равны соответственно нужно писать так...
C++ WinAPI Почему Release версия моей программы по разному отображается на разных Win https://www.cyberforum.ru/ win-api/ thread994731.html
На win 7/8 программа отображается вот так а на Win XP вот так прорисовуется. Как сделать, что-бы так же прорисовывалось, как на Win 8? Раз пятнадцать туда-сюда тыкал, но 10 отличий не нашел.. Добавлено через 3 минуты Из MSDN: (the value 1 must be added to the chosen color)Попробуй так: (HBRUSH)(COLOR_WINDOW + 1);
C++ WinAPI Табуляция sprintf при TextOut Пытался сделать так: sprintf(text, "Objects:\t%d", objectsCount); TextOutA(hdc, x, y, text, strlen(text)) Но не вышло. Табуляции как след простыл. Вроде бы раньше пользовался sprintf для табуляций... Так работает TextOut. Для этого есть специальная функция TabbedTextOut Добавлено через 12 минут Хотя нет, я наверное соврал, TabbedTextOut тут не подойдет, тут скорее подойдет DrawText. https://www.cyberforum.ru/ win-api/ thread995615.html
C++ WinAPI При получении текста из буфера обмена не распознаются русские символы
текст из буфера обмена получаю таким образом: char* buffer; if(OpenClipboard(NULL))//открываем буфер обмена { HANDLE hData = GetClipboardData(CF_TEXT); char* chBuffer=... Бред. Все нормально работает. Добавлено через 17 минут сделал так: if(OpenClipboard(NULL))//открываем буфер обмена { HANDLE hData =...
C++ WinAPI Не отображаются русские символы
Вообщем проблема с отображением русских символов почему-то отображаются в виде "??????? ??????" непонятно в чем дело, уже пробовал играться с объявителями переменных но в итоге получаю иероглифы (еще...
7 / 7 / 1
Регистрация: 26.11.2011
Сообщений: 117
03.11.2013, 13:12  [ТС] 0

Не вызывается GetOpenFileName - C++ WinAPI - Ответ 5278209

03.11.2013, 13:12. Показов 2942. Ответов 4
Метки (Все метки)

Ответ

игнорируется вызов.
сейчас с строки поправить попробую

Добавлено через 2 минуты
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
INT_PTR CALLBACK EnterData(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
 
    static HWND hEditByte;
    static HWND hEditUint;
    static HWND hEditInt32;
    //static HWND hEditInt64;
    static HWND hEditWord;
    static HWND hEditDWord;
    static HWND hEditLong;
    static HWND hEditBool;
    static HWND hEditFloat;
    static HWND hEditDouble;
    static HWND hEditChar;
    static HWND hEditStrings;
 
 
    UNREFERENCED_PARAMETER(lParam);
    switch (message)
    {
    case WM_INITDIALOG:
 
        hEditByte = GetDlgItem(hDlg, IDC_EDIT_BYTE);
        hEditUint = GetDlgItem(hDlg, IDC_EDIT_UINT);
        hEditInt32 = GetDlgItem(hDlg, IDC_EDIT_INT);
        //hEditInt64 = GetDlgItem(hDlg, IDC_EDIT_INT64);
        hEditWord = GetDlgItem(hDlg, IDC_EDIT_WORD);
        hEditDWord = GetDlgItem(hDlg, IDC_EDIT_DWORD);
        hEditLong = GetDlgItem(hDlg, IDC_EDIT_LONG);
        hEditBool = GetDlgItem(hDlg, IDC_EDIT_BOOL);
        hEditFloat = GetDlgItem(hDlg, IDC_EDIT_FLOAT);
        hEditDouble = GetDlgItem(hDlg, IDC_EDIT_DOUBLE);
        hEditChar = GetDlgItem(hDlg, IDC_EDIT_CHARS);
        hEditStrings = GetDlgItem(hDlg, IDC_EDIT_STRINGS);
 
 
        SetWindowText(hEditByte, L"12");
        SetWindowText(hEditUint, L"12");
        SetWindowText(hEditInt32, L"12");
        //SetWindowText(hEditInt64, L"12");
        SetWindowText(hEditWord, L"12");
        SetWindowText(hEditDWord, L"12");
        SetWindowText(hEditLong, L"12");
        SetWindowText(hEditBool, L"1");
        SetWindowText(hEditFloat, L"12.00");
        SetWindowText(hEditDouble, L"12.00");
        SetWindowText(hEditChar, L"a");
        SendMessage(hEditStrings, EM_REPLACESEL, TRUE, (LPARAM)L"WWWWWWWWWWW\r\nEEEEEEEEEEE\r\nRRRRRR");
 
        return (INT_PTR)TRUE;
 
    case WM_COMMAND:
        if (LOWORD(wParam) == IDOK )
        {
 
 
            OPENFILENAME ofn;
            TCHAR szFile[MAX_PATH];
            ofn.lStructSize = sizeof(OPENFILENAME);
            ofn.hwndOwner = hWnd;
            ofn.lpstrFile = szFile;
            ofn.nMaxFile = sizeof(szFile);
            ofn.nFilterIndex = 2;
                        
            WCHAR filter[35] = L"All files\0*.*\0";
            ofn.Flags = OFN_OVERWRITEPROMPT|OFN_EXTENSIONDIFFERENT;
            ofn.lpstrFilter = (LPCWSTR)filter;
            if (GetOpenFileName(&ofn))
            {
                fTXT = CreateFile(ofn.lpstrFile,GENERIC_READ | GENERIC_WRITE,
                    FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
                    CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
 
                BYTE byte = 0;
                TCHAR stmp[MAX_PATH];
                SendMessage(hEditByte, WM_GETTEXT, MAX_PATH, (LPARAM)stmp);
                char ch[MAX_PATH];
                for (int i = 0; i < MAX_PATH; i++)
                {
                    ch[i] = stmp[i];
                }
                byte =atoi(ch);
                DWORD cnt = 0;
                WriteFile(fTXT, &byte, sizeof(byte), &cnt, NULL); 
 
                SendMessage(hEditUint, WM_GETTEXT, MAX_PATH, (LPARAM)stmp);
                for (int i = 0; i < MAX_PATH; i++)
                {
                    ch[i] = stmp[i];
                }
                unsigned int uint = 0;
                uint = atoi(ch);
                cnt = 0;
                WriteFile(fTXT, &uint, sizeof(uint), &cnt, NULL); 
 
                CloseHandle(fTXT);
 
 
                fTXT = CreateFileA("lol3.txt", 
                                GENERIC_READ, FILE_SHARE_READ,
                                NULL, OPEN_EXISTING,
                                FILE_ATTRIBUTE_NORMAL, NULL);
                TCHAR buff2[100];
                memset(buff2, 0, sizeof(buff2));
                cnt = 0;
                ReadFile(fTXT, buff2, 100, &cnt, NULL);
                SetWindowText(hWnd, (LPCWSTR)buff2);
                CloseHandle(fTXT);
            }
 
            //EndDialog(hDlg, LOWORD(wParam));
            return (INT_PTR)TRUE;
        }
        break;
    }
    return (INT_PTR)FALSE;
}
Добавлено через 8 минут
Цитата Сообщение от UI Посмотреть сообщение
Обнулять структуру ofn перед ее заполнением не пробовал? И вообще, что значит? Не компилируется? Игнорирует вызов?

И при заполнении filter будь внимательнее... Нужен double NULL в конце...
а как её обулить?

Вернуться к обсуждению:
Не вызывается GetOpenFileName C++ WinAPI
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2013, 13:12
Готовые ответы и решения:

VS GetOpenFileName/OpenDialog
Добрый день. Переписывал код в VS2010...но он теперь не открывает OpenDialog по нажатию на кнопку.. не могу причину понять, ошибок...

GetOpenFileName повреждает кучу
wchar_t *buf=new wchar_t; memset(buf,0,1024); OPENFILENAME ofn={0}; ofn.lStructSize = sizeof(ofn); ...

Некорректная работа GetOpenFileName
Здравствуйте, столкнулся с одной проблемой, которую самостоятельно решить не смог, хотя вроде бы все верно, если сравнивать с мануалами и...

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

ListView, GetOpenFileName (WinAPI)
Парни помогите. В общем..создал ListView и закинул туда данные так LVCOLUMN lvc; memset(&amp;lvc, 0, sizeof(lvc)); ...

Ошибка при вызове функции GetOpenFileName
при самом появлении выскакивает ...&quot;0xC0000008: An invalid handle was specified. If there is a handler for this exception, the program...

SOIL и common windows dialogs ( а именно GetOpenFileName )
Добрый день, уважаемые форумчане. У меня возникла такая ситуация. Есть код загрузки текстуры из библиотеки SOIL: GLuint texture; ...

Как в GetOpenFileName выбрать сразу несколько файлов?
Подскажите, пожалуйста! Что отвечает за выбор сразу нескольких файлов?:( Public Declare Function GetOpenFileName Lib _ ...

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

0
Новые блоги и статьи
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
Разработка кроссплатформен­­­­ного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
Выполнение кода в игровом цикле Unity с использованием не-MonoBehaviour классов C#
bytestream 02.03.2025
Обычный подход к разработке игр на Unity тесно связан с использованием MonoBehaviour - базового класса для скриптов, обеспечивающего доступ к игровому циклу через события Update, FixedUpdate и. . .
Управление инстанцирование­м вложенных классов в C#
bytestream 02.03.2025
Вложенные классы в C# - мощное средство для создания тесно связанных типов данных и логики. Такие классы определяются внутри других классов и обеспечивают высокий уровень инкапсуляции, позволяя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru