Помогите с кодом на C++ Всем привет. Сделал кнопки,помогите с написаем кода на кнопки. Необходимо чтобы при нажатии на кнопку добавлялся Reg файл в реестр 1 Кнопка добавление в реестр: Скачать архив с этими файлами можно ниже http://zalil.ru/33652571 2 Кнопка удаление с реестра: Скачать архив с этими файлами можно ниже http://zalil.ru/33652579
2 Deniys Писать за тебя прогу не буду, но помочь-помогу. Во-первых забудь о Reg файлах - это костыли - используй RegCreateKeyEx и др. апи функции с мсдн. Если действительно твоя задача запустить Reg-файл, то Вот пример: #include <shellapi.h> #pragma comment(lib,"shell32.lib") ShellExecute(hWnd,TEXT("open"), TEXT("твойрегфайл.рег"), TEXT(""),NULL,SW_SHOWNORMAL);
Как получить указатель char* на string? Есть string.c_str(), но она возвращает const char*. Гугл курил, но, видимо, неправильно.
никак. а вообще смотря что тебе нужно. в некоторых случаях и &str[0] прокатит. опиши задачу конкретнее.
Если бы это было так, то const_cast вообще бы не существовало. А так он существует и предназначен для той задачи, которую описали выше.
Выше задачу не описали. На сколько я помню, стринг вообще не гарантирует последовательного представления данных. Необходимость отмеы константносьт зачастую является следствием кривой архитектуры.
Ins3t верно говорит, const_cast и сишные аналогичные касты используются только если архитектура кривая. Для задачи выше подойдет &str[0], как опять-таки сказали, только буфер у строки должен быть достаточный, если туда планируется что-то напрямую записывать. Строки, как и векторы, последовательно данные располагают, иначе не было бы валидным &str[x].
на последних шагах компиляции проекта [win32] Linking... создание кода создание кода завершено [win32] Clearing DOS Header... ERROR: Failed to clear DOS Header in PE file "". как исправить?
c++. Мучу коудкейв. Есть ассемблерный код к которому надо прыгнуть с конкретного адреса в приложении (хукаю свою дллку). Поясните, как сделать следующее: 1. Выделить место для ассемлерного кода в памяти 2. Вбить код в этот участок памяти (из инлайн ассембли) 3. Получить либо адресс на него, либо получить его как массив байт, который записать в выделенный участок памяти а затем сделать к нему jmp Надеюсь, понятно ) Заранее благодарю.
VirtualAlloc VirtualProtect c PAGE_EXECUTE_READWRITE А потом, например, вызов адреса как процедуры, что то вроде (*VirtualAlloc_result)() или вставкой __asm{ jmp VirtualAlloc_result }
Перегоняя тупо так: Code: DWORD p = (DWORD)pMem; получаю неправильный адресс. Выводя значение pMem - адрес совсем другой, не тот что получается при конвертации.
Возможно ты неправильно выводишь результат. DWORD это не int, а unsigned int или как вариант ты компилишь для х86-64 архитектуры