winres.inc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. function SysFindResource(hModule:HMODULE; lpName: PWideChar; lpType: PWideChar):TResourceHandle; cdecl; external 'coredll' name 'FindResourceW';
  2. function SysLoadResource(hModule:HMODULE; hResInfo: TResourceHandle):HGLOBAL; cdecl; external 'coredll' name 'LoadResource';
  3. function SysSizeofResource(hModule:HMODULE; hResInfo:TResourceHandle):DWORD; cdecl; external 'coredll' name 'SizeofResource';
  4. Function HINSTANCE: HMODULE;
  5. begin
  6. Result:=sysinstance;
  7. end;
  8. Function FindResource(ModuleHandle: HMODULE; ResourceName, ResourceType: PChar): TResourceHandle;
  9. var
  10. ws1, ws2: PWideChar;
  11. begin
  12. if cardinal(ResourceName) shr 16 <> 0 then
  13. ws1:=PCharToPWideChar(ResourceName)
  14. else
  15. ws1:=pointer(ResourceName);
  16. if cardinal(ResourceType) shr 16 <> 0 then
  17. ws2:=PCharToPWideChar(ResourceType)
  18. else
  19. ws2:=pointer(ResourceType);
  20. Result:=SysFindResource(ModuleHandle, ws1, ws2);
  21. if cardinal(ResourceType) shr 16 <> 0 then
  22. FreeMem(ws2);
  23. if cardinal(ResourceName) shr 16 <> 0 then
  24. FreeMem(ws1);
  25. end;
  26. Function LoadResource(ModuleHandle: HMODULE; ResHandle: TResourceHandle): HGLOBAL;
  27. begin
  28. Result:=SysLoadresource(ModuleHandle,Reshandle);
  29. end;
  30. Function SizeofResource(ModuleHandle: HMODULE; ResHandle: TResourceHandle): Integer;
  31. begin
  32. Result:=SysSizeofResource(ModuleHandle,Reshandle);
  33. end;
  34. Function LockResource(ResData: HGLOBAL): Pointer;
  35. begin
  36. Result:=pointer(ResData);
  37. end;
  38. Function UnlockResource(ResData: HGLOBAL): LongBool;
  39. begin
  40. UnlockResource := True;
  41. end;
  42. Function FreeResource(ResData: HGLOBAL): LongBool;
  43. begin
  44. FreeResource := True;
  45. end;