function DetectBT: PChar; stdcall; external 'foobar.dll'; //type // TDetectBT = function: PChar; stdcall; procedure TForm1.Button1Click(Sender: TObject); //var // hDll: cardinal; // xDetectBT: TDetectBT; begin // hDll := LoadLibrary('foobar.dll'); // if hDll <> 0 then begin // @xDetectBT := GetProcAddress(hDll, 'DetectBT'); // if Assigned(@xDetectBT) then Caption := {x}DetectBT; // FreeLibrary(hDll); // end; end; library foobar; uses SysUtils, Windows, Registry, Classes; {$R *.res} function DetectBT: PChar; stdcall; var xReg: TRegistry; sTemp: PChar; begin sTemp := ''; xReg := TRegistry.Create; xReg.RootKey := HKEY_CURRENT_USER; xReg.OpenKey('Control Panel\Current', False); sTemp := PChar(xReg.ReadString('Color Schemes')); xReg.CloseKey; FreeAndNil(xReg); Result := sTemp; end; exports DetectBT; begin end.