Jeg sidder og øver mig lidt i brug af DLL filer.
Jeg ville lave en dll fil der kan deaktivere ctrl alt del (har koden fra en anden tråd her i forum)
koden i dll filen ser således ud:
library CtrlAltDel;
uses
SysUtils,
Classes,
Windows,
Registry,
testFrm in 'Test\\testFrm.pas' {Form1};
procedure DisableTaskMgr(bTF: Boolean); stdcall; export;
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software', True);
reg.OpenKey('Microsoft', True);
reg.OpenKey('Windows', True);
reg.OpenKey('CurrentVersion', True);
reg.OpenKey('Policies', True);
reg.OpenKey('System', True);
if bTF = True then
begin
reg.WriteString('DisableTaskMgr', '1');
end
else if bTF = False then
begin
reg.DeleteValue('DisableTaskMgr');
end;
reg.CloseKey;
end;
begin
end.
//--------------------------------------------------------
og koden i formen ser sådan ud
implementation
procedure DisableTaskMgr(bTF: Boolean); stdcall; external 'CtrlAltDel.dll'
procedure TForm1.Button1Click(Sender: TObject);
begin
DisableTaskMgr(True);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DisableTaskMgr(False);
end;
//------------------------------------------------------------
dll filen ligger i samme mappe som selve programmet.
Jeg får denne besked når jeg prøver at køre testen:
"Det lykkedes ikke at initialisere programmet korrekt (0Xc000007b). Klik OK for at afslutte programmet
hvad gør jeg galt?
Hvis jeg fjerner handlingen ved knapperne, så kommer fejlen ikke.
Nå tror selv jeg fandt fejlen. Jeg har jo glemt at eksporte proceduren.