Ik zal even in het kort uitleggen wat ik wil. Ik switch met mijn pc heel vaak tussen Windows 2000 server en Windows 2000 Professional. Bijde staan dus ook op mijn systeem geinstalleerd en zijn te benaderen via het standaart bootmenu wat win2k aanmaakt. Ik gebruik mijn computer op afstand en kan dus niet met het opstarten van de pc even een OS kiezen welke ik wil booten, de oplossing tot nu toe is als ik bv van win2kprof. naar win2kserv. wil switchen dan zet ik even win2k server op default (standaart) in het bootmenu [ systeem-geavanceerd-opstart en herstelinstellingen-standaart besturingssysteem wijzigen ] Aangezien ik vaak switch tussen die twee OS-en heb ik een delphi programma gemaakt die de boot.ini wijzigt. Maar omdat boot.ini een systeembestand is, werkt het programma niet en krijg ik de melding : File acces denied. Dit snap ik niet want in kladblok kun je de file wel editen en opslaan ! Bovendien kun je het attribuut van boot.ini ook niet veranderen 
Ik heb ook al geprobeerd 2 boot.ini files te maken. Eentje waar win2kprof. als default staat en eentje waar win2kserv. als default staat. Als ik die dan probeer te kopieren dmv een batch bestand krijg ik ook acces denied. Waarom kun je dan wel in kladblok de file editen ?
De code van mijn programma :
Een screendumpje :

Wie kan mij helpen ?
Ik heb ook al geprobeerd 2 boot.ini files te maken. Eentje waar win2kprof. als default staat en eentje waar win2kserv. als default staat. Als ik die dan probeer te kopieren dmv een batch bestand krijg ik ook acces denied. Waarom kun je dan wel in kladblok de file editen ?
De code van mijn programma :
code:
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
| unit cd;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tform1 = class(TForm)
Button_win2kprof: TButton;
Button_win2k_server: TButton;
Label1: TLabel;
Label2: TLabel;
rebootknop: TButton;
Label3: TLabel;
procedure Button_win2kprofClick(Sender: TObject);
procedure Button_win2k_serverClick(Sender: TObject);
procedure rebootknopClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
form1: Tform1;
s:text;
const
fn='c:\boot.ini';
implementation
{$R *.dfm}
procedure Tform1.Button_win2kprofClick(Sender: TObject);
begin
AssignFile(s,fn);
rewrite(s);
writeln(s,'[boot loader]');
writeln(s,'timeout=2');
writeln(s,'default=multi(0)disk(0)rdisk(0)partition(1)\WINNT');
writeln(s,'[operating systems]');
writeln(s,'multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect');
writeln(s,'multi(0)disk(0)rdisk(0)partition(3)\WINNT="Microsoft Windows 2000 Server" /fastdetect');
CloseFile(s);
end;
procedure Tform1.Button_win2k_serverClick(Sender: TObject);
begin
AssignFile(s,fn);
rewrite(s);
writeln(s,'[boot loader]');
writeln(s,'timeout=2');
writeln(s,'default=multi(0)disk(0)rdisk(0)partition(3)\WINNT');
writeln(s,'[operating systems]');
writeln(s,'multi(0)disk(0)rdisk(0)partition(3)\WINNT="Microsoft Windows 2000 Server" /fastdetect');
writeln(s,'multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect');
CloseFile(s);
end;
procedure Tform1.rebootknopClick(Sender: TObject);
Begin
WinExec(pchar('shutdown.exe -r'),SW_NORMAL);
end;
end. |
Een screendumpje :

Wie kan mij helpen ?