Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
56 / 23 / 1
Регистрация: 11.03.2015
Сообщений: 41
1

Работа с реестром. Не ловится исключение UnauthorizedAccessException

18.08.2015, 11:44. Показов 1130. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня!
Имеется следующий код:
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
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {                
                     label2->Visible = false;
                     label3->Visible = false;
                     label4->Visible = false;
                     int index[26], result = 0;
                     for (int i = 0; i < 26; i++)
                     {
                         if (checkedListBox1->GetItemChecked(i))
                             index[i] = 1;
                         else
                             index[i] = 0;
                     }
                     for (int i = 0; i < 26; i++)
                     {
                         if (index[i])
                         {
                             result += 1 << i;
                         }
                     }
                     try
                     {
                         RegistryKey ^key = Registry::CurrentUser->CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer");
                         key->SetValue("NoDrives", Convert::ToInt32(result.ToString(), 10));
                         key->Close();
                         if (result != 0)
                             label2->Visible = true;
                         else
                             label3->Visible = true;
                     }
                     catch ( ... ) \\то же самое при "catch (System::UnauthorizedAccessException ^ e)"
                     {
                         label2->Visible = false;
                         label3->Visible = false;
                         label4->Visible = true;
                     }
При выполнение приложения не от имени администратора получаю исключение со следующим текстом:
Кликните здесь для просмотра всего текста

Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.UnauthorizedAccessException: Отказано в доступе к разделу реестра "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explor er".
в Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
в Microsoft.Win32.RegistryKey.CreateSubKeyInternal(String subkey, RegistryKeyPermissionCheck permissionCheck, Object registrySecurityObj, RegistryOptions registryOptions)
в Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck)
в Microsoft.Win32.RegistryKey.CreateSubKey(String subkey)
в p_form.MyForm.button1_Click(Object sender, EventArgs e)
в System.Windows.Forms.Control.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnClick(EventArgs e)
в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ButtonBase.WndProc(Message& m)
в System.Windows.Forms.Button.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
DiskHider
Версия сборки: 0.0.0.0
Версия Win32:
CodeBase: file:///C:/Users/User/Desktop/Debug/DiskHider.exe
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.6.79.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2015, 11:44
Ответы с готовыми решениями:

Не ловится исключение
Всем привет) Пишу прогу, которая копирует флешки. Использую функцию ReadFile() и WhiteFile(). Хочу...

Не ловится исключение
Здравствуйте, есть такой метод: bool Library::Remove(unsigned int bookNumber) { try {...

Не ловится исключение
Не ловится исключение, если нет интернет-соединения... Или при этом вовсе не исключение...

Исключение при записи в файл: UnauthorizedAccessException
На следующий код выдает это исключение. В чем проблема, как мне записать в файл то?) FileStream...

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

Класс DirectoryInfo, метод GetFiles, и исключение UnauthorizedAccessException
В своей программе я использую такой метод: DirectoryInfo dir = new DirectoryInfo(path); var...

Ошибка: Необработанное исключение типа "System.UnauthorizedAccessException" в mscorlib.dll
static void Main(string args) { File.Create(&quot;c:\\numbers.txt&quot;); ...

Необработанное исключение типа "System.UnauthorizedAccessException" в System.Speech.dll
Когда начал компилировать такая вот ошибка вышла : &quot;Необработанное исключение типа...

Работа с реестром
Здравствуйте! Подскажыть пожалуйста как записать и прочитать переменые в реестре с помощю бейсика.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru