Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 14

Работа с реестром через функции WinAPI

09.11.2012, 00:59. Показов 2622. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код:
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
#pragma once
#include <Windows.h>
#include "stdafx.h"
 
namespace WindowsFormsApplication1 {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
    using namespace Microsoft::Win32;
 
    /// <summary>
    /// Сводка для Form1
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::Button^  button1;
    protected: 
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->SuspendLayout();
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(69, 82);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(75, 23);
            this->button1->TabIndex = 0;
            this->button1->Text = L"button1";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(284, 261);
            this->Controls->Add(this->button1);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->ResumeLayout(false);
 
        }
#pragma endregion
    public: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                HKEY hKey;
                wchar_t pth[] = L"\\txt";
                RegOpenKeyEx(HKEY_CLASSES_ROOT, pth, 0, KEY_READ, &hKey );
             }
    };
}
При компиляции выдает ошибку:
Кликните здесь для просмотра всего текста
1>WindowsFormsApplication1.obj : error LNK2028: ёё√ыър эр эхЁрчЁх°хээє■ ыхъёхьє (0A00000F) "extern "C" long __stdcall RegOpenKeyExW(struct HKEY__ *,wchar_t const *,unsigned long,unsigned long,struct HKEY__ * *)" (?RegOpenKeyExW@@$$J220YGJPAUHKEY__@@PB_ WKKPAPAU1@@Z) т ЇєэъЎшш "public: void __clrcall WindowsFormsApplication1::Form1::button1 _Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@WindowsFormsApplic ation1@@$$FQ$AAMXP$AAVObject@System@@P$A AVEventArgs@4@@Z)
1>WindowsFormsApplication1.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы "extern "C" long __stdcall RegOpenKeyExW(struct HKEY__ *,wchar_t const *,unsigned long,unsigned long,struct HKEY__ * *)" (?RegOpenKeyExW@@$$J220YGJPAUHKEY__@@PB_ WKKPAPAU1@@Z) т ЇєэъЎшш "public: void __clrcall WindowsFormsApplication1::Form1::button1 _Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@Form1@WindowsFormsApplic ation1@@$$FQ$AAMXP$AAVObject@System@@P$A AVEventArgs@4@@Z)
1>C:\Users\Artem\Desktop\┬═╥╙\╧ЁръЄшўэ│\ ╬╤\╧╨3\WindowsFormsApplication1\Debug\Wi ndowsFormsApplication1.exe : fatal error LNK1120: эхЁрчЁх°хээ√ї тэх°эшї ¤ыхьхэЄют: 2

Что это такое? Жесть какая-то...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2012, 00:59
Ответы с готовыми решениями:

Работа с реестром программы
Посоветуйте пожалуйста где можно скачать нормальный самоучитель,где есть описана робота с реестром програмы или покажыте код как можно...

Работа с реестром. Считывание данных
В общем стоит передо мной цель считать данные с реестра с раздела Но в этом разделе не показывает ничего, хотя и в других все адекватно....

Работа с реестром через winapi
как перевести r.RootKey:=HKEY_LOCAL_MACHINE; r.OpenKey('Software\Microsoft\Windows\CurrentVersion\policies\Explorer\Run',true); ...

5
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
09.11.2012, 10:40
Смешиваешь управляемый и натив, из-за этого может?
0
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 14
10.11.2012, 15:37  [ТС]
Цитата Сообщение от Deviaphan Посмотреть сообщение
Смешиваешь управляемый и натив, из-за этого может?
Можете подробнее объяснить?
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
11.11.2012, 09:22
RegOpenKeyEx это функция WinApi. Неуправлямая. Сомневаюсь, что на managed-отстое нужно использовать именно эту функцию - она слишком низкоуровневая, для столь высокоуровневых программистов.
0
0 / 0 / 0
Регистрация: 12.06.2010
Сообщений: 14
12.11.2012, 21:22  [ТС]
Мне просто нужно научится использовать ф-ии WinAPI для работы с реестром.

Не могу понять, почему этот код:
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
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <conio.h>
#include <winreg.h>
 
using namespace System;
using namespace std;
using namespace Microsoft::Win32;
 
int main ()
{
    char myval[] = "were";
    HKEY hknew;
    DWORD res;
    RegCreateKeyEx (HKEY_CURRENT_USER, L"SOFTWARE\\myapp", 0, NULL, 0, 0, NULL, &hknew,&res);
    RegOpenKeyEx (HKEY_CURRENT_USER, L"SOFTWARE\\myapp", 0, KEY_WRITE, &hknew); 
    RegSetValueEx (hknew, L"myval", 0, REG_SZ, (LPBYTE) myval, sizeof (myval));
    RegCloseKey (hknew);
    return 0;
}
Записывает это:

А не "were".
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
13.11.2012, 06:24
Потому что were имеет тип char, а записываешь его ты как wchar_t.
Соответственно, we превращается в первый иероглиф, re - во второй.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2012, 06:24
Помогаю со студенческими работами здесь

Работа с реестром средствами WinAPI
Всем привет! Помогите пожалуйста с решением задачки. Нужно сделать добавление в раздел реестра HKEY_CURRENT_USER и в подраздел SOFTWARE...

не работает WINAPI для работы с реестром
Запускается, но при вводе ключа ,прыгает на return -1 , будто не находит нужные параметры ,хотя ключ правильный, не знаю,в чем проблема......

Работа с файлами через WinApi
Доброго времени суток. Есть программа которая которая с помощью api должна прочитать текстовый файл. Делаю с помощью ReadFile, в буфер всё...

Работа с директорями через WinApi
запрашивается имя каталога у пользователя.Составить .txt файл, описывающий структуру этого каталога. при этом пустые подкаталоги удалить (и...

Работа с приложением через WinAPI
Пытаясь разобраться в проблемах программы, по средствам которой я пытаюсь учить OpenGL, наткнулся на то, что проблемы в её работе могут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru