Delphi-Quellcode:
var
LVersion : TWindowsVersionInfo;
LPath:PChar;
LHandle: THandle;
LCreate : TShutdownBlockReasonCreate;
begin
LVersion := TWindowsVersionInfo.Create(self);
try
if LVersion.MajorVersion >= 6 then
begin
GetSystemDirectory(LPath,max_Path+1);
LHandle:=LoadLibrary(PChar(LPath+'\user32.dll'));
@LCreate := GetProcAddress(LHandle,PChar('ShutdownBlockReasonCreate'));
if LCreate(self.Handle,'Testprogramm für ShutdownBlockReason')then SNLogger.log('Shutdown wird geblockt')
else SNLogger.log('Blocken nicht möglich'+SysErrorMessage(GetLastError));
end;
finally
LVersion.Free;
end;
Da kommt jetz en Fehler wegen falschem Parameter, ich denke es liegt daran das ich String übergebe, aber LPCWSTR(PWideChar) gefordert ist. Wie wandle ich das denn um
PChar(derstring) geht jedenfalls nicht