Einzelnen Beitrag anzeigen

Oliver1983

Registriert seit: 8. Mär 2006
Ort: Hamburg
43 Beiträge
 
Delphi XE Starter
 
#40

Re: energiesparplan unter vista ändern

  Alt 19. Jun 2009, 05:12
hi,

super habe jetzt einiges rausgefunden, und klappt auch so wie es soll, nun habe ich aber wieder ein problem und zwar bei PowerWriteFriendlyName Function link
bei
__in UCHAR *Buffer,
__in DWORD BufferSize

Buffersize ist eigentlich klar

aber was muss ich bei Buffer übergeben ich bin der meinung entweder PWideString oder PWideChar

Delphi-Quellcode:

{$EXTERNALSYM PowerWriteFriendlyName}
function PowerWriteFriendlyName(RootPowerKey: HKEY; const SchemeGuid: PGUID;
  const SubGroupOfPowerSettingGuid: PGUID; const PowerSettingGuid: PGUID;
  Buffer: PUChar; BufferSize: PDWORD):
  DWORD; stdcall; external PWR_PROF;


function TForm1.setNameToPowerScheme(guid:TGUID; fname: WideString ):string;
var
 res, size: DWORD;
 pfname: PWideChar;
begin
  size := 512;
  StringToWideChar(fname, Pfname, size);


  GetMem(pfname, size);
  //PowerWriteFriendlyName(0, @guid, nil, nil, Pointer(fname), @size);

  res := PowerWriteFriendlyName(0, @guid, nil, nil, Pointer(pfname), @size);
  if res = ERROR_SUCCESS then begin
    result := 'Name geändert';
  end
  else
    result := 'fehler';

 FreeMem(pfname);
end;
ich weiß das die Funktion noch etwas unaufgeräumt aussieht aber ich habe vieles getestet

Hoffe mir kann einer Helfen

gruss olli
Oliver
  Mit Zitat antworten Zitat