Registry Delete
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Registry Delete
Forumda aradı ama..yabancı sitelerede bakatım denemeler yapmamam rağmen Registry silemedim.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ekran
ekran dosyasını nasıl sildirebilirim........
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ekran
ekran dosyasını nasıl sildirebilirim........
En son haydarxxx tarafından 30 Nis 2018 03:08 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: Registry Delete
UAC'dan dolayı silememiş olabilirsiniz. Uygulamanızı yönetici olarak çalıştırırsanız bulduğunuz örneklerle silebilirsiniz.
Re: Registry Delete
Hocam daha cok kod hatası veriyor.uses de registry var ama kodların bölümleri icin yazılan kod yok.kod calıssa uac den diyebiliriz
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Registry Delete
kodunuzu paylaşmanız daha faydalı olacaktır.
Kod: Tümünü seç
procedure RegDeleteValue(const ARootKey: Winapi.Windows.HKEY; const APath: string);
var
SubKey: string; // registry sub-key extracted from APath
ValueName: string; // value name extracted from APath
begin
with System.Win.Registry.TRegistry.Create do
try
RootKey := ARootKey;
RegParsePath(APath, SubKey, ValueName);
if OpenKey(SubKey, True) then
DeleteValue(ValueName);
finally
Free;
end;
end;
Mücadele güzelleştirir!
Re: Registry Delete
Merhaba,
"HKEY_LOCAL_MACHINE" registry içinde özel bir bölümdür ve normal prosesler sadece okuma yapabilir. Yazma yapabilmek için uygulamanızın @mkysoft 'un da anlatmaya çalıştığı gibi UAC (User Access Control) yani farklı bir ifade ile "Administrator" yetkisi ile çalışıyor olması gerekir.
Re: Registry Delete
Tmm Kullanıcı ya adnin girisi yap deriz.Sonra programı calıştır deriz hocam.Burada yapmak istediğim acılışta calışan uygulamamı kaldırması.Burada programla yapmaya çalışıyorum yazdırmada bir sorun yok silme kodu bulamadım
Greenegitimin verdiği procedure nasıl kullanılacak
Greenegitimin verdiği procedure nasıl kullanılacak
Re: Registry Delete
nette denediğim kode
Create:
Delete:
[dcc32 Error] Unit2.pas(33): E2250 There is no overloaded version of 'Create' that can be called with these arguments
[dcc32 Error] Unit2.pas(34): E2003 Undeclared identifier: 'RootKey'
[dcc32 Error] Unit2.pas(35): E2003 Undeclared identifier: 'Access'
[dcc32 Error] Unit2.pas(36): E2003 Undeclared identifier: 'Openkey'
hatası veriyor
Create:
Kod: Tümünü seç
var
reg1,tregistry,key:string;
begin
key:='SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\ {0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}';
reg1:=tregistry.Create;
reg1.RootKey:=HKEY_LOCAL_MACHINE;
reg1.Access: = KEY_WOW64_64KEY + KEY_ALL_ACCESS;
if reg1.Openkey(key,true)=true then showmessage('ok');
reg1.Closekey;
reg1.free;
Kod: Tümünü seç
var
reg1,tregistry, key:string;
begin
reg1: = tregistry.Create;
reg1.RootKey: = HKEY_LOCAL_MACHINE;
reg1.Access: = KEY_WOW64_64KEY + KEY_ALL_ACCESS;
key: ='SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}';
if reg1.KeyExists (Key)=true then Showmesage ('Key exists'); // work
if reg1.DeleteKey (Key)=true then Showmesage ('Ok'); // ! not work !
Showmesage (inttostr(getlasterror)); // show "0"
reg1.Free;
end;
[dcc32 Error] Unit2.pas(34): E2003 Undeclared identifier: 'RootKey'
[dcc32 Error] Unit2.pas(35): E2003 Undeclared identifier: 'Access'
[dcc32 Error] Unit2.pas(36): E2003 Undeclared identifier: 'Openkey'
hatası veriyor
Re: Registry Delete
değişkenleri yanlış tanımlamışsınız.
reg1:tregistry;
key:string;
bu şekilde deneyin.
reg1:tregistry;
key:string;
bu şekilde deneyin.
Re: Registry Delete
düzenledim kocaV.tşk ama istediğim sonuç olmadı yinede.başka bir kod ile aşağıda
yazdırabiliyorum.
bunun silme kodu nasıl olur
Kod: Tümünü seç
var
AppExe :string;
Registry : TRegistry;
begin
Registry := TRegistry.Create;
try
with Registry do
begin
RootKey := HKEY_CURRENT_USER;
if OpenKey ('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true) then
begin
AppExe:=#34+Application.Exename+#34;
WriteString('ekran','C:\Data\bilgisayar.exe');
end;
end;
finally
Registry.Free;
end;
bunun silme kodu nasıl olur
Re: Registry Delete
Merhaba,
Registry ile uğraşmadan Windows'un özel dizinleri içine kısayol oluşturarak bir çözüm kullanabilirsiniz. Kaldırmak istediğiniz zaman ilgili kısayol dosyasını silmeniz yeterli olacaktır.
Kısayol oluşturmak için kullanılabilecek kod:
Kullanıcıya özel başlangıç dizinine kısayol oluşturmak için kullanımı:
Daha sonra kısayol dosyasını silmek için aşağıdaki gibi bir kod kullanabilirsiniz:
Bilgisayara özel başlangıç dizinine kısayol oluşturmak için sadece ilk parametreyi değiştirmeniz yeterli (bu kodun çalışması için uygulamanızın Administrator yetkisi ile çalışıyor olması gerekli):
Örnek kodların WindowsXP ile çalışıyor olması gerekli. Ancak test etmedim.
Registry ile uğraşmadan Windows'un özel dizinleri içine kısayol oluşturarak bir çözüm kullanabilirsiniz. Kaldırmak istediğiniz zaman ilgili kısayol dosyasını silmeniz yeterli olacaktır.
Kısayol oluşturmak için kullanılabilecek kod:
Kod: Tümünü seç
uses
System.IOUtils,
ShlObj,
ComObj,
ActiveX;
const
CSIDL_DESKTOP = $0000; { <desktop> }
CSIDL_INTERNET = $0001; { Internet Explorer (icon on desktop) }
CSIDL_PROGRAMS = $0002; { Start Menu\Programs }
CSIDL_CONTROLS = $0003; { My Computer\Control Panel }
CSIDL_PRINTERS = $0004; { My Computer\Printers }
CSIDL_PERSONAL = $0005; { My Documents. This is equivalent to CSIDL_MYDOCUMENTS in XP and above }
CSIDL_FAVORITES = $0006; { <user name>\Favorites }
CSIDL_STARTUP = $0007; { Start Menu\Programs\Startup }
CSIDL_RECENT = $0008; { <user name>\Recent }
CSIDL_SENDTO = $0009; { <user name>\SendTo }
CSIDL_BITBUCKET = $000a; { <desktop>\Recycle Bin }
CSIDL_STARTMENU = $000b; { <user name>\Start Menu }
CSIDL_MYDOCUMENTS = $000c; { logical "My Documents" desktop icon }
CSIDL_MYMUSIC = $000d; { "My Music" folder }
CSIDL_MYVIDEO = $000e; { "My Video" folder }
CSIDL_DESKTOPDIRECTORY = $0010; { <user name>\Desktop }
CSIDL_DRIVES = $0011; { My Computer }
CSIDL_NETWORK = $0012; { Network Neighborhood (My Network Places) }
CSIDL_NETHOOD = $0013; { <user name>\nethood }
CSIDL_FONTS = $0014; { windows\fonts }
CSIDL_TEMPLATES = $0015; { <user name>\appdata\roaming\template folder }
CSIDL_COMMON_STARTMENU = $0016; { All Users\Start Menu }
CSIDL_COMMON_PROGRAMS = $0017; { All Users\Start Menu\Programs }
CSIDL_COMMON_STARTUP = $0018; { All Users\Startup }
CSIDL_COMMON_DESKTOPDIRECTORY = $0019; { All Users\Desktop }
CSIDL_APPDATA = $001a; { <user name>\Application Data }
CSIDL_PRINTHOOD = $001b; { <user name>\PrintHood }
CSIDL_LOCAL_APPDATA = $001c; { <user name>\Local Settings\Application Data (non roaming) }
CSIDL_ALTSTARTUP = $001d; { non localized startup }
CSIDL_COMMON_ALTSTARTUP = $001e; { non localized common startup }
CSIDL_COMMON_FAVORITES = $001f; { User favourites }
CSIDL_INTERNET_CACHE = $0020; { temporary inter files }
CSIDL_COOKIES = $0021; { <user name>\Local Settings\Application Data\..\cookies }
CSIDL_HISTORY = $0022; { <user name>\Local Settings\Application Data\..\history}
CSIDL_COMMON_APPDATA = $0023; { All Users\Application Data }
CSIDL_WINDOWS = $0024; { GetWindowsDirectory() }
CSIDL_SYSTEM = $0025; { GetSystemDirectory() }
CSIDL_PROGRAM_FILES = $0026; { C:\Program Files }
CSIDL_MYPICTURES = $0027; { C:\Program Files\My Pictures }
CSIDL_PROFILE = $0028; { USERPROFILE }
CSIDL_SYSTEMX86 = $0029; { x86 system directory on RISC }
CSIDL_PROGRAM_FILESX86 = $002a; { x86 C:\Program Files on RISC }
CSIDL_PROGRAM_FILES_COMMON = $002b; { C:\Program Files\Common }
CSIDL_PROGRAM_FILES_COMMONX86 = $002c; { x86 C:\Program Files\Common on RISC }
CSIDL_COMMON_TEMPLATES = $002d; { All Users\Templates }
CSIDL_COMMON_DOCUMENTS = $002e; { All Users\Documents }
CSIDL_COMMON_ADMINTOOLS = $002f; { All Users\Start Menu\Programs\Administrative Tools }
CSIDL_ADMINTOOLS = $0030; { <user name>\Start Menu\Programs\Administrative Tools }
CSIDL_CONNECTIONS = $0031; { Network and Dial-up Connections }
CSIDL_COMMON_MUSIC = $0035; { All Users\My Music }
CSIDL_COMMON_PICTURES = $0036; { All Users\My Pictures }
CSIDL_COMMON_VIDEO = $0037; { All Users\My Video }
CSIDL_RESOURCES = $0038; { Resource Directory }
CSIDL_RESOURCES_LOCALIZED = $0039; { Localized Resource Directory }
CSIDL_CDBURN_AREA = $003b; { USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning }
function GetSpecialFolderPath(CSIDLFolder: Integer): string;
var
FilePath: array [0..MAX_PATH] of char;
begin
SHGetFolderPath(0, CSIDLFolder, 0, 0, FilePath);
Result := FilePath;
end;
function CreateDesktopShellLink(const CSID: Cardinal; const TargetName: string): Boolean;
var
IObject: IUnknown;
ISLink: IShellLink;
IPFile: IPersistFile;
PIDL: PItemIDList;
LinkName: string;
InFolder: array [0..MAX_PATH-1] of Char;
begin
Result := False;
IObject := CreateComObject(CLSID_ShellLink);
ISLink := IObject as IShellLink;
IPFile := IObject as IPersistFile;
with ISLink do
begin
SetDescription('Açıklama ...');
SetPath(PChar(TargetName));
SetWorkingDirectory(PChar(ExtractFilePath(TargetName)));
end;
SHGetSpecialFolderLocation(0, CSID, PIDL);
SHGetPathFromIDList(PIDL, InFolder) ;
LinkName := IncludeTrailingPathDelimiter(GetSpecialFolderPath(CSID));
LinkName := LinkName + TPath.GetFileNameWithoutExtension(TargetName) + '.lnk';
if not FileExists(LinkName) then
if IPFile.Save(PWideChar(LinkName), False) = S_OK then
Result := True;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
if CreateDesktopShellLink(CSIDL_ALTSTARTUP, 'C:\Folder\ExeFile.exe') then
ShowMessage('Kısayol dosyası oluşturuldu ...');
end;
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
var
FileName: string;
begin
FileName := GetSpecialFolderPath(CSIDL_ALTSTARTUP);
FileName := TPath.Combine(FileName, 'ExeFile.lnk');
if TFile.Exists(FileName) then
begin
try
TFile.Delete(FileName);
except
on E: Exception do
begin
ShowMessage('Kısayol dosyası silinemedi.' + sLineBreak + AnsiQuotedStr(E.Message, '"'));
end;
end;
end;
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
if CreateDesktopShellLink(CSIDL_COMMON_ALTSTARTUP, 'C:\Folder\ExeFile.exe') then
ShowMessage('Link has been created ...');
end;
Re: Registry Delete
win 10 da deniyorum oldu.Çok teşekkürler ertank bu yöntem daha güzel
Re: Registry Delete
ertank görev yöneticisinden başlangıç etkisini en yükse olarak nasıl belirleyebiliriz.Program window masa üstü ile aynı anda gelmiyor.Yani devreye çok geç giriyor haliyle program açılana kadar istenilen yere tıklanıp açılabiliniyor windows daBen win masa üstüne bir perde çekmeye çalışıyorum..Projem de ekranı kaplayan bir formum var.formdaki gerekli işlem yapıldığında form try e yerleşecek.Tray tmm ama program çok geç devreye giriyor win10 kullanıyorum
Re: Registry Delete
Kod: Tümünü seç
var
FileName: string;
begin
FileName := GetSpecialFolderPath(CSIDL_ALTSTARTUP);
FileName := TPath.Combine(FileName, 'ExeFile.lnk');
if TFile.Exists(FileName) then
begin
try
TFile.Delete(FileName);
except
on E: Exception do
begin
ShowMessage('Kısayol dosyası silinemedi.' + sLineBreak + AnsiQuotedStr(E.Message, '"'));
end;
end;
end;
end;
Re: Registry Delete
Aldığınız hata mesajı nedir?
Re: Registry Delete
ertank hocam yarın bakıp yazacağım