|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Вопрос по библиотеке JEDI (модуль JclRegistry ) |
|
Delphi - [решено] Вопрос по библиотеке JEDI (модуль JclRegistry )
|
Ветеран Сообщения: 1158 |
Привет всем ! Столкнулся с такой проблемой . Нужно удалить ключ реестра со всеми подключами.
Проблема на x64 системе , а у меня x32 приложения . Соответственно моя программа ищет этот в ключе Wow6432Node. Решения я нашёл не используя библиотеку JEDI так: Скрытый текст
procedure TForm1.Button1Click(Sender: TObject); var Reg: TRegistry; begin Reg := TRegistry.Create(); if IsWindows64=true then begin Reg.Access := $100 or KEY_ALL_ACCESS; end; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.KeyExists('\Software\Microsoft\WIMMount') then Reg.DeleteKey('Software\Microsoft\WIMMount'); finally Reg.Free; end;end; Всё работает и удаляется . Но хотелось бы обойтись средствами библиотеки JEDI Скрытый текст
Набросал код : procedure TForm1.Button2Click(Sender: TObject); var RootKey: HKEY; PathKEY:String; begin if IsWindows64=true then begin RegSetWOW64AccessMode(ra64Key); end; RootKey := HKEY_LOCAL_MACHINE; PathKEY:='Software\Microsoft\WIMMount'; if not RegKeyExists (RootKey,PathKEY) then begin Memo1.Lines.Add('- [ Ошибка ] Ключ не найден') end else begin Memo1.Lines.Add('[ ОК ] Ключ найден'); if not RegDeleteKeyTree (RootKey,PathKEY)then begin Memo1.Lines.Add('[ Ошибка ] Ключ не удалён') end else begin Memo1.Lines.Add('[ ОК ] Ключ удалён'); end; end; end; end. Ключ находит, но не удаляет =((( Что нужно ещё добавить ??? Помогите, плиз! |
|
------- Отправлено: 23:47, 24-02-2016 |
Ветеран Сообщения: 1158
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:13, 26-02-2016 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1803
|
Профиль | Отправить PM | Цитировать Цитата Painkiller:
У Вас какая версия и под какую платформу Вы создаете приложение? Будут затруднения, поставлю Delphi и посмотрю на практике. |
|
------- Последний раз редактировалось opel431, 26-02-2016 в 20:01. Отправлено: 19:30, 26-02-2016 | #12 |
Ветеран Сообщения: 1158
|
Профиль | Отправить PM | Цитировать Цитата opel431:
|
|
------- Отправлено: 20:18, 26-02-2016 | #13 |
![]() Ветеран Сообщения: 1803
|
Профиль | Отправить PM | Цитировать Цитата Painkiller:
|
|
------- Отправлено: 20:55, 26-02-2016 | #14 |
Ветеран Сообщения: 1158
|
Профиль | Отправить PM | Цитировать Цитата opel431:
Скомпилировал для двух платформ и вместе с рег файлом и исходником залил на яндекс диск тут x64 удаляет , а x86 находит но не удаляет. =(( |
|
------- Последний раз редактировалось Painkiller, 26-02-2016 в 21:56. Отправлено: 21:44, 26-02-2016 | #15 |
![]() Ветеран Сообщения: 1803
|
Профиль | Отправить PM | Цитировать Цитата Painkiller:
|
|
------- Отправлено: 23:12, 26-02-2016 | #16 |
Ветеран Сообщения: 1158
|
Профиль | Отправить PM | Цитировать Цитата opel431:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\1] Цитата opel431:
Скрытый текст
unit Unit1; interface uses JclSecurity,JclRegistry, JclSysInfo, Registry,Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Button2: TButton; Memo1: TMemo; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); var RootKey: HKEY; PathKEY:String; begin RegSetWOW64AccessMode(raNative); SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(PChar('HKEY_LOCAL_MACHINE\Software\Microsoft\WIMMount'))); RootKey := HKEY_LOCAL_MACHINE; PathKEY:='Software\Microsoft\WIMMount'; if not RegKeyExists (RootKey,PathKEY) then begin Memo1.Lines.Add ('Ключ не найден '); exit end else begin Memo1.Lines.Add('[ ОК ] Ключ найден'); if not RegDeleteKeyTree (RootKey,PathKEY)then begin Memo1.Lines.Add ('Ключ не удалён '); exit end else begin Memo1.Lines.Add('[ ОК ] Ключ удалён'); end; end; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if (CheckWin32Version(6, 0)) then begin if IsPrivilegeEnabled('SeBackupPrivilege') then EnableProcessPrivilege(False, 'SeBackupPrivilege'); if IsPrivilegeEnabled('SeRestorePrivilege') then EnableProcessPrivilege(False, 'SeRestorePrivilege'); end; end; procedure TForm1.FormCreate(Sender: TObject); begin if (CheckWin32Version(6, 0)) then begin if not IsPrivilegeEnabled('SeBackupPrivilege') then EnableProcessPrivilege(True, 'SeBackupPrivilege'); if not IsPrivilegeEnabled('SeRestorePrivilege') then EnableProcessPrivilege(True, 'SeRestorePrivilege'); end; end; end. Цитата opel431:
Результата virustotal 86.exe Результата virustotal 64.exe |
|||
------- Отправлено: 23:47, 26-02-2016 | #17 |
![]() Ветеран Сообщения: 1803
|
Профиль | Отправить PM | Цитировать Вижу Вы еще здесь. Попробуй те на платформе x32 RegSetWOW64AccessMode(raDefault);
Цитата Painkiller:
|
|
------- Отправлено: 01:38, 27-02-2016 | #18 |
Ветеран Сообщения: 1158
|
Профиль | Отправить PM | Цитировать Цитата opel431:
|
|
------- Отправлено: 01:42, 27-02-2016 | #19 |
![]() Ветеран Сообщения: 1803
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось opel431, 27-02-2016 в 02:25. Отправлено: 01:53, 27-02-2016 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 - Вопрос по программе для открытия рисунков по умолчанию | flower | Windows Server 2008/2008 R2 | 4 | 18-10-2010 17:22 | |
Прочее - вопрос по загрузке образов cd/dvd дисков по сети | andi_filon | Общий по Linux | 4 | 21-08-2009 14:48 | |
Вопрос по платформам обработки данных и еще по всяким непонятным словам :) | koresaram | Хочу все знать | 8 | 19-02-2009 18:26 | |
Jedi Concentrate (Концентрируемся на окнах) | yurfed | Программное обеспечение Windows | 0 | 22-12-2007 10:05 | |
Star Wars: Jedi Knight 2 | Mihan | Игры | 8 | 03-11-2003 11:50 |
|