Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Ограничение доступа к памяти Доброго времени суток. Нужно ограничить доступ программе к памяти с помощью работы с реестром. Не очень понимаю, в каком именно направлении копать. Не подскажите?) https://www.cyberforum.ru/ win-api/ thread2443952.html C++ WinAPI Подмена HWND
Здравствуйте. В общем, у меня есть 2 библиотеки, которые прицепляются к процессу. В первой библиотеки есть показ окна через ф-ию ShowWindow. Как мне из второй библиотеки подменить дескриптор окна в ф-ии ShowWindow? Через IDA я нашел адрес, где прописан именно декскриптор HWND. Но как мне его заменить на свой? Т.е. в первой библиотеки есть показ окна ShowWindow, а во второй создано свое...
C++ WinAPI Прочитать структуру из файла https://www.cyberforum.ru/ win-api/ thread2443789.html
Задача: прочитать структуру из файла Вопрос: 1. почему не читаются строки из файла? 2. правильно ли я читаю структуру из файла? struct Sales { string customer; string product; double price;
C++ WinAPI Чтение двоичного файла для последующей расшифровки DPAPI Здравствуйте! Уже достаточно долго пытаюсь расшифровать зашифрованный с помощью DPAPI файл. Зашифровать проблем не составляет, а вот с расшифровкой уже загвоздки. Алгоритм простой: открываю файл через, получаю размер. Далее записываю DATA_BLOB. В cbData размер файла, а pbData отдаю указатель на зашифрованные данные. Сама функция CryptUnprotectData выдает либо 13 ошибку. Не могу понять в чем... https://www.cyberforum.ru/ win-api/ thread2443380.html
C++ WinAPI Visual Studio 2017 Оконное приложение Windows
#include "stdafx.h" #include "test.h" #define MAX_LOADSTRING 100 // Глобальные переменные: HINSTANCE hInst; // текущий экземпляр WCHAR szTitle; // Текст строки заголовка WCHAR szWindowClass; // имя класса главного окна
C++ WinAPI Получить имя библиотеки/функции по её адресу https://www.cyberforum.ru/ win-api/ thread2443101.html
С помощью несложного кода получаю строку вида case CREATE_THREAD_DEBUG_EVENT: tcout << TEXT(" dwThreadId: ") << DbgEvent.dwThreadId << TEXT(" (Start Address: 0x") << DbgEvent.u.CreateThread.lpStartAddress << TEXT(", Name: )") << std::endl; break; Имеется поток с идентификатором и его адрес в библиотеке, которая его запустила Если взять этот адрес и посмотреть что по нему...
C++ WinAPI Зависает программа при открытии проекта Добрый день!Столкнулся с такой проблемой, моя программа использует окна WinApi,если запустить программу и через нее открыть проект данного приложения, то все ок, но если настроить файл проекта (чтобы при двойном клике он открывался именно моей программой), то приложение открывается, но висит, куда копать, что делать?Заранее благодарен! https://www.cyberforum.ru/ win-api/ thread2442998.html C++ WinAPI Как работать с TreeView?
Доброго времени. Я изучил довольно много материала о TreeView, но оно расплывчатое, только больше запутался. Как создавать, заполнять, и получать имя выделенного узла - понятно, как обрабатывать клики и получать полные данные о выделенном элементе - нет. Полагаю, что клик отлавливается через мессагу WM_NOTIFY, чего не происходит. А в качестве данных о выделенном элементе хотелось бы получать...
C++ WinAPI Получение размера картинки https://www.cyberforum.ru/ win-api/ thread2442763.html
всем привет помогите составить код для получение высоты/ширины картинки использую стандартный winApi гугли не че не нашел кроме как через всякие библиотеки и вот такой код наше но оне выдает запредельно большие значения для моего картинки std::ifstream in("texture.img"); unsigned int width, height; in.seekg(16); in.read((char *)&width, 4); in.read((char *)&height, 4); ...
C++ WinAPI Распознавание цвета пикселя в отдельном окне https://www.cyberforum.ru/ win-api/ thread2442443.html
помогите написать код, чтобы создавалось отдельное перемещаемое окно-рамка, которая бы определяла цвет внутри себя.
C++ WinAPI Что не так в коде? ошибка усечение типов
#include <windows.h> #include <tchar.h> #include <iostream> #include <stdlib.h> #include <time.h> #include "stdafx.h" TCHAR szWindowClass = _T("win32app"), szTitle = _T("Шар предсказаний"); HINSTANCE hInst;
C++ WinAPI Мониторинг процессов https://www.cyberforum.ru/ win-api/ thread2441533.html
Подскажите как реализовать следующее: Программа, что ведет протокол действий пользователя с управления процессами во время сеанса работы, должна сохранять в скрытых файлах на диске полные имена всех создаваемых процессов и дату-время их создания. Не могу понять как контролировать создание новых процессов. Создать snapshot текущих процессов и по таймеру проверять на наличие новых не вариант....
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 18
0

Запуск командой строки и выполнение команды в ней через WinAPI (C++) - C++ WinAPI - Ответ 13530624

28.04.2019, 22:17. Показов 4280. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с такой задачей. Надо создать файл, записать в него системное время, а потом этот файл записать в папку(это я смог сделать, код приведу ниже). Проблема пришла потом.
Как я понял, функция CreateProcess позволяет нам запустить какое-то приложение(в нашем случае командную строку), а потом в нём что-то выполнить. Командную строку я запустить смог, а вот выполнить в ней команду при запуске у меня не выходит. Буду очень признателен, если поможете в этом разобраться.

Часть кода, где я создавал файл с папкой:

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
#include <iostream>
#include <windows.h>
#include <fstream>
#include <ctime>
#include <string.h>
using namespace std;
int main()
{
    // Эти переменные служат для записи даты и времени в файл
    char year[5] = "";
    char month[3] = "";
    char day[3] = "";
    char hour[3] = "";
    char minute[3] = "";
    char second[3] = "";
    char Fulldate[20] = ""; // Сюда мы запишем полную дату
 
    DWORD nLenCurDir;
    HANDLE hOut;
    FILE* fp; // Указатель на файл
    TCHAR stdPath[30] = TEXT("I:\\System date and time.txt"); // В какой файл и в какую директорию записываем информацию
    // При помощи SYSTEMTIME мы получаем системное дату и время
    SYSTEMTIME st;
    GetSystemTime(&st);
    //------- Преобразуем полученные числа в строки -------
    _itoa_s(st.wYear, year, 10); 
    _itoa_s(st.wMonth, month, 10);
    _itoa_s(st.wDay, day, 10);
    _itoa_s(st.wHour, hour, 10);
    _itoa_s(st.wMinute, minute, 10);
    _itoa_s(st.wSecond, second, 10);
    // Выводим записанную информацию на экран
    cout << st.wDay << "/" << st.wMonth << "/" << st.wYear << " - Full system date" << endl;
    cout << st.wHour << ":" << st.wMinute << ":" << st.wSecond << " - Full system time" << endl;
    // Объединяем все строки в одну
    strcpy_s(Fulldate, day);
    strcat_s(Fulldate, "\/");
    strcat_s(Fulldate, month);
    strcat_s(Fulldate,"\/");
    strcat_s(Fulldate, year);
    strcat_s(Fulldate, "\n");
    strcat_s(Fulldate, hour);
    strcat_s(Fulldate, ":");
    strcat_s(Fulldate, minute);
    strcat_s(Fulldate, ":");
    strcat_s(Fulldate, second);
 
    cout << "What we will see in file\n" << Fulldate << endl; // Выводим полученную строку
    hOut = CreateFile(stdPath, GENERIC_WRITE, 0, NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); // Функция для создания файла
    // Если не удалось создать файл
    if (hOut == INVALID_HANDLE_VALUE) 
    {
        printf("ERROR %x \n", GetLastError());
        getchar();
        return 2; // Выводим код ошибки
    }
 
    else // Если получилось
    {
        WriteFile(hOut, Fulldate, 24, NULL, NULL);// Записываем информацию в файл
        printf("File System date and time.txt has been created!\nYou can check it in I disk\n");
        getchar();
        CloseHandle(hOut); // Закрываем хэндл
    }
    //-------------- Создание каталога, куда мы поместим файл --------------
    TCHAR Buffer[256];
    TCHAR Buffer2[] = TEXT("I:\\"); // Место, где мы будем создавать папку
    TCHAR Buffer3[] = TEXT("I:\\newAAAAAA"); // Наша создаваемая папка
 
    DWORD dwResult = GetCurrentDirectory(256, Buffer); // Выводим на экран текущую директорию
    wcout << "Current Dir: " << Buffer << '\n' << endl;
 
    BOOL b = SetCurrentDirectory(Buffer2); // Устанавливаем текущую директорию в I:\
 
    if (CreateDirectory(Buffer3, NULL) == true) // Создаём новую папку
        cout << "\nDirectory newAAAAAA created!" << '\n';
    else
        cout << "Error create directory" << '\n';
    
 
    TCHAR Buffer33[] = TEXT("I:\\newAAAAAA\\System date and time.txt");
    //------------- Перемещение файла в новосозданную папку -------------
    BOOL move_file = MoveFile(stdPath, Buffer33);
    if (move_file == true)
    {
        cout << "File System date and time.txt transported to I:\\newAAAAAA directory" << endl;
    }
    else
    {
        cout << "Error to transpot" << endl;
        return 50;
    }
    getchar();
    TCHAR new_folder[] = TEXT("I:\\newWOW");
    BOOL to_transport = CreateDirectory(new_folder, NULL); // Создали папку, в которую мы скопируем прошлую папку с файлом
    if (to_transport == true)
    {
        cout << "Folder newWOW has been created!\nWe will move newAAAAAA in this folder later" << endl;
        getchar();
    }
    else
    {
        cout << "Error" << endl;
        return 100;
    }
В этой части я пытался запустить командную строку(она в том же файле, только закомментированная, чтобы потом можно было запустить и проверить)

C++
1
2
3
4
5
6
    STARTUPINFO si = {sizeof(si)}; // Необходимые аргументы
    PROCESS_INFORMATION pi;
    TCHAR czCommandLine[] = TEXT("C:\\WINDOWS\\system32\\cmd.exe"); // Путь к командной строке
    // Следующая функция позволяет нам открыть командную строку, вписать в неё команду
    // Xcopy I:\newWOW I:\newAAAAAA\ /s /e /h /-y 
    CreateProcess(czCommandLine, LPWSTR("MD I:\\newWOW"), NULL, NULL, FALSE, 0, NULL, NULL, LPSTARTUPINFOW(&si), &pi);


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

Выполнение команды для командой строки из под delphi
Нужно выполнить команду &quot;shutdown -s -t .....&quot; место точек время через которое выключиться комп....

Запуск powershell и выполнение команды
Привет всем! Есть у кого готовый пример кода? 1) запустить powershell , программно (...

Запуск cmd и выполнение команды макросом
Доброго дня! Подскажите, пожалуйста, как запустить макросом из excel командную строку и...

Запуск терминала с нужной командой через QT
Есть програмка которая должна запускать профилирование и поиск ошибок в динамической памяти другой...

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

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

Запуск vpn через WinAPI
Здравствуйте дорогие форумчане. Есть задача, поднимать готовое и настроенное ВПН соединение...

Подключение к серверу Ubuntu через PuTTY и выполнение команды
Доброго времени суток! Подскажите, можно ли сделать так, чтобы выполнялось подключение к серверу...

Выполнение команды для каждой строки в файле
Необходимо написать батник, который будет выполнять определенную команду используя строку из тхт...

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