Articles   Members Online:
-Article/Tip Search
-News Group Search over 21 Million news group articles.
-Delphi/Pascal
-CBuilder/C++
-C#Builder/C#
-JBuilder/Java
-Kylix
Member Area
-Home
-Account Center
-Top 10 NEW!!
-Submit Article/Tip
-Forums Upgraded!!
-My Articles
-Edit Information
-Login/Logout
-Become a Member
-Why sign up!
-Newsletter
-Chat Online!
-Indexes NEW!!
Employment
-Build your resume
-Find a job
-Post a job
-Resume Search
Contacts
-Contacts
-Feedbacks
-Link to us
-Privacy/Disclaimer
Embarcadero
Visit Embarcadero
Embarcadero Community
JEDI
Links
How to copy the registry files Turn on/off line numbers in source code. Switch to Orginial background IDE or DSP color Comment or reply to this aritlce/tip for discussion. Bookmark this article to my favorite article(s). Print this article
28-Sep-02
Category
Win API
Language
Delphi 2.x
Views
61
User Rating
No Votes
# Votes
0
Replies
0
Publisher:
DSP, Administrator
Reference URL:
DKB
			Author: William Gerbert 

I want to copy the SYSTEM.DAT and USER.DAT files from the Windows directory. If I 
copy them using Explorer, manually, they copy fine. But, from Delphi 4 on Windows 
95, using the CopyFile function, I get an access denied error.

Answer:

The registry files are always open, and it appears that the CopyFile API function 
doesn't use the appropriate sharing flags when it tries to copy them. This function 
should do the trick for you:


1   procedure CopyRegistryFile(const Source, Dest: string);
2   var
3     SourceStream, DestStream: TFileStream;
4   begin
5     SourceStream := TFileStream.Create(Source, fmOpenRead + fmShareDenyNone);
6     try
7       DestStream := TFileStream.Create(Dest, fmCreate);
8       try
9         DestStream.CopyFrom(SourceStream, SourceStream.Size);
10      finally
11        DestStream.Free
12      end;
13    finally
14      SourceStream.Free
15    end;
16  end;


			
Vote: How useful do you find this Article/Tip?
Bad Excellent
1 2 3 4 5 6 7 8 9 10

 

Advertisement
Share this page
Advertisement
Download from Google

Copyright © Mendozi Enterprises LLC