JwaWinUser.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:670k
源码类别:

Windows编程

开发平台:

Delphi

  1.   asm
  2.     mov esp, ebp
  3.     pop ebp
  4.     jmp [_EnumWindowStations]
  5.   end;
  6. end;
  7. {$ELSE}
  8. function EnumWindowStations; external user32 name 'EnumWindowStationsA';
  9. {$ENDIF DYNAMIC_LINK}
  10. {$ENDIF}
  11. {$IFDEF DYNAMIC_LINK}
  12. var
  13.   _CloseWindowStation: Pointer;
  14. function CloseWindowStation;
  15. begin
  16.   GetProcedureAddress(_CloseWindowStation, user32, 'CloseWindowStation');
  17.   asm
  18.     mov esp, ebp
  19.     pop ebp
  20.     jmp [_CloseWindowStation]
  21.   end;
  22. end;
  23. {$ELSE}
  24. function CloseWindowStation; external user32 name 'CloseWindowStation';
  25. {$ENDIF DYNAMIC_LINK}
  26. {$IFDEF DYNAMIC_LINK}
  27. var
  28.   _SetProcessWindowStation: Pointer;
  29. function SetProcessWindowStation;
  30. begin
  31.   GetProcedureAddress(_SetProcessWindowStation, user32, 'SetProcessWindowStation');
  32.   asm
  33.     mov esp, ebp
  34.     pop ebp
  35.     jmp [_SetProcessWindowStation]
  36.   end;
  37. end;
  38. {$ELSE}
  39. function SetProcessWindowStation; external user32 name 'SetProcessWindowStation';
  40. {$ENDIF DYNAMIC_LINK}
  41. {$IFDEF DYNAMIC_LINK}
  42. var
  43.   _GetProcessWindowStation: Pointer;
  44. function GetProcessWindowStation;
  45. begin
  46.   GetProcedureAddress(_GetProcessWindowStation, user32, 'GetProcessWindowStation');
  47.   asm
  48.     mov esp, ebp
  49.     pop ebp
  50.     jmp [_GetProcessWindowStation]
  51.   end;
  52. end;
  53. {$ELSE}
  54. function GetProcessWindowStation; external user32 name 'GetProcessWindowStation';
  55. {$ENDIF DYNAMIC_LINK}
  56. {$IFDEF DYNAMIC_LINK}
  57. var
  58.   _SetUserObjectSecurity: Pointer;
  59. function SetUserObjectSecurity;
  60. begin
  61.   GetProcedureAddress(_SetUserObjectSecurity, user32, 'SetUserObjectSecurity');
  62.   asm
  63.     mov esp, ebp
  64.     pop ebp
  65.     jmp [_SetUserObjectSecurity]
  66.   end;
  67. end;
  68. {$ELSE}
  69. function SetUserObjectSecurity; external user32 name 'SetUserObjectSecurity';
  70. {$ENDIF DYNAMIC_LINK}
  71. {$IFDEF DYNAMIC_LINK}
  72. var
  73.   _GetUserObjectSecurity: Pointer;
  74. function GetUserObjectSecurity;
  75. begin
  76.   GetProcedureAddress(_GetUserObjectSecurity, user32, 'GetUserObjectSecurity');
  77.   asm
  78.     mov esp, ebp
  79.     pop ebp
  80.     jmp [_GetUserObjectSecurity]
  81.   end;
  82. end;
  83. {$ELSE}
  84. function GetUserObjectSecurity; external user32 name 'GetUserObjectSecurity';
  85. {$ENDIF DYNAMIC_LINK}
  86. {$IFDEF DYNAMIC_LINK}
  87. var
  88.   _GetUserObjectInformationA: Pointer;
  89. function GetUserObjectInformationA;
  90. begin
  91.   GetProcedureAddress(_GetUserObjectInformationA, user32, 'GetUserObjectInformationA');
  92.   asm
  93.     mov esp, ebp
  94.     pop ebp
  95.     jmp [_GetUserObjectInformationA]
  96.   end;
  97. end;
  98. {$ELSE}
  99. function GetUserObjectInformationA; external user32 name 'GetUserObjectInformationA';
  100. {$ENDIF DYNAMIC_LINK}
  101. {$IFDEF DYNAMIC_LINK}
  102. var
  103.   _GetUserObjectInformationW: Pointer;
  104. function GetUserObjectInformationW;
  105. begin
  106.   GetProcedureAddress(_GetUserObjectInformationW, user32, 'GetUserObjectInformationW');
  107.   asm
  108.     mov esp, ebp
  109.     pop ebp
  110.     jmp [_GetUserObjectInformationW]
  111.   end;
  112. end;
  113. {$ELSE}
  114. function GetUserObjectInformationW; external user32 name 'GetUserObjectInformationW';
  115. {$ENDIF DYNAMIC_LINK}
  116. {$IFDEF UNICODE}
  117. {$IFDEF DYNAMIC_LINK}
  118. var
  119.   _GetUserObjectInformation: Pointer;
  120. function GetUserObjectInformation;
  121. begin
  122.   GetProcedureAddress(_GetUserObjectInformation, user32, 'GetUserObjectInformationW');
  123.   asm
  124.     mov esp, ebp
  125.     pop ebp
  126.     jmp [_GetUserObjectInformation]
  127.   end;
  128. end;
  129. {$ELSE}
  130. function GetUserObjectInformation; external user32 name 'GetUserObjectInformationW';
  131. {$ENDIF DYNAMIC_LINK}
  132. {$ELSE}
  133. {$IFDEF DYNAMIC_LINK}
  134. var
  135.   _GetUserObjectInformation: Pointer;
  136. function GetUserObjectInformation;
  137. begin
  138.   GetProcedureAddress(_GetUserObjectInformation, user32, 'GetUserObjectInformationA');
  139.   asm
  140.     mov esp, ebp
  141.     pop ebp
  142.     jmp [_GetUserObjectInformation]
  143.   end;
  144. end;
  145. {$ELSE}
  146. function GetUserObjectInformation; external user32 name 'GetUserObjectInformationA';
  147. {$ENDIF DYNAMIC_LINK}
  148. {$ENDIF}
  149. {$IFDEF DYNAMIC_LINK}
  150. var
  151.   _SetUserObjectInformationA: Pointer;
  152. function SetUserObjectInformationA;
  153. begin
  154.   GetProcedureAddress(_SetUserObjectInformationA, user32, 'SetUserObjectInformationA');
  155.   asm
  156.     mov esp, ebp
  157.     pop ebp
  158.     jmp [_SetUserObjectInformationA]
  159.   end;
  160. end;
  161. {$ELSE}
  162. function SetUserObjectInformationA; external user32 name 'SetUserObjectInformationA';
  163. {$ENDIF DYNAMIC_LINK}
  164. {$IFDEF DYNAMIC_LINK}
  165. var
  166.   _SetUserObjectInformationW: Pointer;
  167. function SetUserObjectInformationW;
  168. begin
  169.   GetProcedureAddress(_SetUserObjectInformationW, user32, 'SetUserObjectInformationW');
  170.   asm
  171.     mov esp, ebp
  172.     pop ebp
  173.     jmp [_SetUserObjectInformationW]
  174.   end;
  175. end;
  176. {$ELSE}
  177. function SetUserObjectInformationW; external user32 name 'SetUserObjectInformationW';
  178. {$ENDIF DYNAMIC_LINK}
  179. {$IFDEF UNICODE}
  180. {$IFDEF DYNAMIC_LINK}
  181. var
  182.   _SetUserObjectInformation: Pointer;
  183. function SetUserObjectInformation;
  184. begin
  185.   GetProcedureAddress(_SetUserObjectInformation, user32, 'SetUserObjectInformationW');
  186.   asm
  187.     mov esp, ebp
  188.     pop ebp
  189.     jmp [_SetUserObjectInformation]
  190.   end;
  191. end;
  192. {$ELSE}
  193. function SetUserObjectInformation; external user32 name 'SetUserObjectInformationW';
  194. {$ENDIF DYNAMIC_LINK}
  195. {$ELSE}
  196. {$IFDEF DYNAMIC_LINK}
  197. var
  198.   _SetUserObjectInformation: Pointer;
  199. function SetUserObjectInformation;
  200. begin
  201.   GetProcedureAddress(_SetUserObjectInformation, user32, 'SetUserObjectInformationA');
  202.   asm
  203.     mov esp, ebp
  204.     pop ebp
  205.     jmp [_SetUserObjectInformation]
  206.   end;
  207. end;
  208. {$ELSE}
  209. function SetUserObjectInformation; external user32 name 'SetUserObjectInformationA';
  210. {$ENDIF DYNAMIC_LINK}
  211. {$ENDIF}
  212. {$IFDEF DYNAMIC_LINK}
  213. var
  214.   _RegisterWindowMessageA: Pointer;
  215. function RegisterWindowMessageA;
  216. begin
  217.   GetProcedureAddress(_RegisterWindowMessageA, user32, 'RegisterWindowMessageA');
  218.   asm
  219.     mov esp, ebp
  220.     pop ebp
  221.     jmp [_RegisterWindowMessageA]
  222.   end;
  223. end;
  224. {$ELSE}
  225. function RegisterWindowMessageA; external user32 name 'RegisterWindowMessageA';
  226. {$ENDIF DYNAMIC_LINK}
  227. {$IFDEF DYNAMIC_LINK}
  228. var
  229.   _RegisterWindowMessageW: Pointer;
  230. function RegisterWindowMessageW;
  231. begin
  232.   GetProcedureAddress(_RegisterWindowMessageW, user32, 'RegisterWindowMessageW');
  233.   asm
  234.     mov esp, ebp
  235.     pop ebp
  236.     jmp [_RegisterWindowMessageW]
  237.   end;
  238. end;
  239. {$ELSE}
  240. function RegisterWindowMessageW; external user32 name 'RegisterWindowMessageW';
  241. {$ENDIF DYNAMIC_LINK}
  242. {$IFDEF UNICODE}
  243. {$IFDEF DYNAMIC_LINK}
  244. var
  245.   _RegisterWindowMessage: Pointer;
  246. function RegisterWindowMessage;
  247. begin
  248.   GetProcedureAddress(_RegisterWindowMessage, user32, 'RegisterWindowMessageW');
  249.   asm
  250.     mov esp, ebp
  251.     pop ebp
  252.     jmp [_RegisterWindowMessage]
  253.   end;
  254. end;
  255. {$ELSE}
  256. function RegisterWindowMessage; external user32 name 'RegisterWindowMessageW';
  257. {$ENDIF DYNAMIC_LINK}
  258. {$ELSE}
  259. {$IFDEF DYNAMIC_LINK}
  260. var
  261.   _RegisterWindowMessage: Pointer;
  262. function RegisterWindowMessage;
  263. begin
  264.   GetProcedureAddress(_RegisterWindowMessage, user32, 'RegisterWindowMessageA');
  265.   asm
  266.     mov esp, ebp
  267.     pop ebp
  268.     jmp [_RegisterWindowMessage]
  269.   end;
  270. end;
  271. {$ELSE}
  272. function RegisterWindowMessage; external user32 name 'RegisterWindowMessageA';
  273. {$ENDIF DYNAMIC_LINK}
  274. {$ENDIF}
  275. {$IFDEF DYNAMIC_LINK}
  276. var
  277.   __TrackMouseEvent: Pointer;
  278. function TrackMouseEvent;
  279. begin
  280.   GetProcedureAddress(__TrackMouseEvent, user32, 'TrackMouseEvent');
  281.   asm
  282.     mov esp, ebp
  283.     pop ebp
  284.     jmp [__TrackMouseEvent]
  285.   end;
  286. end;
  287. {$ELSE}
  288. function TrackMouseEvent; external user32 name 'TrackMouseEvent';
  289. {$ENDIF DYNAMIC_LINK}
  290. {$IFDEF DYNAMIC_LINK}
  291. var
  292.   _DrawEdge: Pointer;
  293. function DrawEdge;
  294. begin
  295.   GetProcedureAddress(_DrawEdge, user32, 'DrawEdge');
  296.   asm
  297.     mov esp, ebp
  298.     pop ebp
  299.     jmp [_DrawEdge]
  300.   end;
  301. end;
  302. {$ELSE}
  303. function DrawEdge; external user32 name 'DrawEdge';
  304. {$ENDIF DYNAMIC_LINK}
  305. {$IFDEF DYNAMIC_LINK}
  306. var
  307.   _DrawFrameControl: Pointer;
  308. function DrawFrameControl;
  309. begin
  310.   GetProcedureAddress(_DrawFrameControl, user32, 'DrawFrameControl');
  311.   asm
  312.     mov esp, ebp
  313.     pop ebp
  314.     jmp [_DrawFrameControl]
  315.   end;
  316. end;
  317. {$ELSE}
  318. function DrawFrameControl; external user32 name 'DrawFrameControl';
  319. {$ENDIF DYNAMIC_LINK}
  320. {$IFDEF DYNAMIC_LINK}
  321. var
  322.   _DrawCaption: Pointer;
  323. function DrawCaption;
  324. begin
  325.   GetProcedureAddress(_DrawCaption, user32, 'DrawCaption');
  326.   asm
  327.     mov esp, ebp
  328.     pop ebp
  329.     jmp [_DrawCaption]
  330.   end;
  331. end;
  332. {$ELSE}
  333. function DrawCaption; external user32 name 'DrawCaption';
  334. {$ENDIF DYNAMIC_LINK}
  335. {$IFDEF DYNAMIC_LINK}
  336. var
  337.   _DrawAnimatedRects: Pointer;
  338. function DrawAnimatedRects;
  339. begin
  340.   GetProcedureAddress(_DrawAnimatedRects, user32, 'DrawAnimatedRects');
  341.   asm
  342.     mov esp, ebp
  343.     pop ebp
  344.     jmp [_DrawAnimatedRects]
  345.   end;
  346. end;
  347. {$ELSE}
  348. function DrawAnimatedRects; external user32 name 'DrawAnimatedRects';
  349. {$ENDIF DYNAMIC_LINK}
  350. {$IFDEF DYNAMIC_LINK}
  351. var
  352.   _GetMessageA: Pointer;
  353. function GetMessageA;
  354. begin
  355.   GetProcedureAddress(_GetMessageA, user32, 'GetMessageA');
  356.   asm
  357.     mov esp, ebp
  358.     pop ebp
  359.     jmp [_GetMessageA]
  360.   end;
  361. end;
  362. {$ELSE}
  363. function GetMessageA; external user32 name 'GetMessageA';
  364. {$ENDIF DYNAMIC_LINK}
  365. {$IFDEF DYNAMIC_LINK}
  366. var
  367.   _GetMessageW: Pointer;
  368. function GetMessageW;
  369. begin
  370.   GetProcedureAddress(_GetMessageW, user32, 'GetMessageW');
  371.   asm
  372.     mov esp, ebp
  373.     pop ebp
  374.     jmp [_GetMessageW]
  375.   end;
  376. end;
  377. {$ELSE}
  378. function GetMessageW; external user32 name 'GetMessageW';
  379. {$ENDIF DYNAMIC_LINK}
  380. {$IFDEF UNICODE}
  381. {$IFDEF DYNAMIC_LINK}
  382. var
  383.   _GetMessage: Pointer;
  384. function GetMessage;
  385. begin
  386.   GetProcedureAddress(_GetMessage, user32, 'GetMessageW');
  387.   asm
  388.     mov esp, ebp
  389.     pop ebp
  390.     jmp [_GetMessage]
  391.   end;
  392. end;
  393. {$ELSE}
  394. function GetMessage; external user32 name 'GetMessageW';
  395. {$ENDIF DYNAMIC_LINK}
  396. {$ELSE}
  397. {$IFDEF DYNAMIC_LINK}
  398. var
  399.   _GetMessage: Pointer;
  400. function GetMessage;
  401. begin
  402.   GetProcedureAddress(_GetMessage, user32, 'GetMessageA');
  403.   asm
  404.     mov esp, ebp
  405.     pop ebp
  406.     jmp [_GetMessage]
  407.   end;
  408. end;
  409. {$ELSE}
  410. function GetMessage; external user32 name 'GetMessageA';
  411. {$ENDIF DYNAMIC_LINK}
  412. {$ENDIF}
  413. {$IFDEF DYNAMIC_LINK}
  414. var
  415.   _TranslateMessage: Pointer;
  416. function TranslateMessage;
  417. begin
  418.   GetProcedureAddress(_TranslateMessage, user32, 'TranslateMessage');
  419.   asm
  420.     mov esp, ebp
  421.     pop ebp
  422.     jmp [_TranslateMessage]
  423.   end;
  424. end;
  425. {$ELSE}
  426. function TranslateMessage; external user32 name 'TranslateMessage';
  427. {$ENDIF DYNAMIC_LINK}
  428. {$IFDEF DYNAMIC_LINK}
  429. var
  430.   _DispatchMessageA: Pointer;
  431. function DispatchMessageA;
  432. begin
  433.   GetProcedureAddress(_DispatchMessageA, user32, 'DispatchMessageA');
  434.   asm
  435.     mov esp, ebp
  436.     pop ebp
  437.     jmp [_DispatchMessageA]
  438.   end;
  439. end;
  440. {$ELSE}
  441. function DispatchMessageA; external user32 name 'DispatchMessageA';
  442. {$ENDIF DYNAMIC_LINK}
  443. {$IFDEF DYNAMIC_LINK}
  444. var
  445.   _DispatchMessageW: Pointer;
  446. function DispatchMessageW;
  447. begin
  448.   GetProcedureAddress(_DispatchMessageW, user32, 'DispatchMessageW');
  449.   asm
  450.     mov esp, ebp
  451.     pop ebp
  452.     jmp [_DispatchMessageW]
  453.   end;
  454. end;
  455. {$ELSE}
  456. function DispatchMessageW; external user32 name 'DispatchMessageW';
  457. {$ENDIF DYNAMIC_LINK}
  458. {$IFDEF UNICODE}
  459. {$IFDEF DYNAMIC_LINK}
  460. var
  461.   _DispatchMessage: Pointer;
  462. function DispatchMessage;
  463. begin
  464.   GetProcedureAddress(_DispatchMessage, user32, 'DispatchMessageW');
  465.   asm
  466.     mov esp, ebp
  467.     pop ebp
  468.     jmp [_DispatchMessage]
  469.   end;
  470. end;
  471. {$ELSE}
  472. function DispatchMessage; external user32 name 'DispatchMessageW';
  473. {$ENDIF DYNAMIC_LINK}
  474. {$ELSE}
  475. {$IFDEF DYNAMIC_LINK}
  476. var
  477.   _DispatchMessage: Pointer;
  478. function DispatchMessage;
  479. begin
  480.   GetProcedureAddress(_DispatchMessage, user32, 'DispatchMessageA');
  481.   asm
  482.     mov esp, ebp
  483.     pop ebp
  484.     jmp [_DispatchMessage]
  485.   end;
  486. end;
  487. {$ELSE}
  488. function DispatchMessage; external user32 name 'DispatchMessageA';
  489. {$ENDIF DYNAMIC_LINK}
  490. {$ENDIF}
  491. {$IFDEF DYNAMIC_LINK}
  492. var
  493.   _SetMessageQueue: Pointer;
  494. function SetMessageQueue;
  495. begin
  496.   GetProcedureAddress(_SetMessageQueue, user32, 'SetMessageQueue');
  497.   asm
  498.     mov esp, ebp
  499.     pop ebp
  500.     jmp [_SetMessageQueue]
  501.   end;
  502. end;
  503. {$ELSE}
  504. function SetMessageQueue; external user32 name 'SetMessageQueue';
  505. {$ENDIF DYNAMIC_LINK}
  506. {$IFDEF DYNAMIC_LINK}
  507. var
  508.   _PeekMessageA: Pointer;
  509. function PeekMessageA;
  510. begin
  511.   GetProcedureAddress(_PeekMessageA, user32, 'PeekMessageA');
  512.   asm
  513.     mov esp, ebp
  514.     pop ebp
  515.     jmp [_PeekMessageA]
  516.   end;
  517. end;
  518. {$ELSE}
  519. function PeekMessageA; external user32 name 'PeekMessageA';
  520. {$ENDIF DYNAMIC_LINK}
  521. {$IFDEF DYNAMIC_LINK}
  522. var
  523.   _PeekMessageW: Pointer;
  524. function PeekMessageW;
  525. begin
  526.   GetProcedureAddress(_PeekMessageW, user32, 'PeekMessageW');
  527.   asm
  528.     mov esp, ebp
  529.     pop ebp
  530.     jmp [_PeekMessageW]
  531.   end;
  532. end;
  533. {$ELSE}
  534. function PeekMessageW; external user32 name 'PeekMessageW';
  535. {$ENDIF DYNAMIC_LINK}
  536. {$IFDEF UNICODE}
  537. {$IFDEF DYNAMIC_LINK}
  538. var
  539.   _PeekMessage: Pointer;
  540. function PeekMessage;
  541. begin
  542.   GetProcedureAddress(_PeekMessage, user32, 'PeekMessageW');
  543.   asm
  544.     mov esp, ebp
  545.     pop ebp
  546.     jmp [_PeekMessage]
  547.   end;
  548. end;
  549. {$ELSE}
  550. function PeekMessage; external user32 name 'PeekMessageW';
  551. {$ENDIF DYNAMIC_LINK}
  552. {$ELSE}
  553. {$IFDEF DYNAMIC_LINK}
  554. var
  555.   _PeekMessage: Pointer;
  556. function PeekMessage;
  557. begin
  558.   GetProcedureAddress(_PeekMessage, user32, 'PeekMessageA');
  559.   asm
  560.     mov esp, ebp
  561.     pop ebp
  562.     jmp [_PeekMessage]
  563.   end;
  564. end;
  565. {$ELSE}
  566. function PeekMessage; external user32 name 'PeekMessageA';
  567. {$ENDIF DYNAMIC_LINK}
  568. {$ENDIF}
  569. {$IFDEF DYNAMIC_LINK}
  570. var
  571.   _RegisterHotKey: Pointer;
  572. function RegisterHotKey;
  573. begin
  574.   GetProcedureAddress(_RegisterHotKey, user32, 'RegisterHotKey');
  575.   asm
  576.     mov esp, ebp
  577.     pop ebp
  578.     jmp [_RegisterHotKey]
  579.   end;
  580. end;
  581. {$ELSE}
  582. function RegisterHotKey; external user32 name 'RegisterHotKey';
  583. {$ENDIF DYNAMIC_LINK}
  584. {$IFDEF DYNAMIC_LINK}
  585. var
  586.   _UnregisterHotKey: Pointer;
  587. function UnregisterHotKey;
  588. begin
  589.   GetProcedureAddress(_UnregisterHotKey, user32, 'UnregisterHotKey');
  590.   asm
  591.     mov esp, ebp
  592.     pop ebp
  593.     jmp [_UnregisterHotKey]
  594.   end;
  595. end;
  596. {$ELSE}
  597. function UnregisterHotKey; external user32 name 'UnregisterHotKey';
  598. {$ENDIF DYNAMIC_LINK}
  599. {$IFDEF DYNAMIC_LINK}
  600. var
  601.   _ExitWindowsEx: Pointer;
  602. function ExitWindowsEx;
  603. begin
  604.   GetProcedureAddress(_ExitWindowsEx, user32, 'ExitWindowsEx');
  605.   asm
  606.     mov esp, ebp
  607.     pop ebp
  608.     jmp [_ExitWindowsEx]
  609.   end;
  610. end;
  611. {$ELSE}
  612. function ExitWindowsEx; external user32 name 'ExitWindowsEx';
  613. {$ENDIF DYNAMIC_LINK}
  614. {$IFDEF DYNAMIC_LINK}
  615. var
  616.   _SwapMouseButton: Pointer;
  617. function SwapMouseButton;
  618. begin
  619.   GetProcedureAddress(_SwapMouseButton, user32, 'SwapMouseButton');
  620.   asm
  621.     mov esp, ebp
  622.     pop ebp
  623.     jmp [_SwapMouseButton]
  624.   end;
  625. end;
  626. {$ELSE}
  627. function SwapMouseButton; external user32 name 'SwapMouseButton';
  628. {$ENDIF DYNAMIC_LINK}
  629. {$IFDEF DYNAMIC_LINK}
  630. var
  631.   _GetMessagePos: Pointer;
  632. function GetMessagePos;
  633. begin
  634.   GetProcedureAddress(_GetMessagePos, user32, 'GetMessagePos');
  635.   asm
  636.     mov esp, ebp
  637.     pop ebp
  638.     jmp [_GetMessagePos]
  639.   end;
  640. end;
  641. {$ELSE}
  642. function GetMessagePos; external user32 name 'GetMessagePos';
  643. {$ENDIF DYNAMIC_LINK}
  644. {$IFDEF DYNAMIC_LINK}
  645. var
  646.   _GetMessageTime: Pointer;
  647. function GetMessageTime;
  648. begin
  649.   GetProcedureAddress(_GetMessageTime, user32, 'GetMessageTime');
  650.   asm
  651.     mov esp, ebp
  652.     pop ebp
  653.     jmp [_GetMessageTime]
  654.   end;
  655. end;
  656. {$ELSE}
  657. function GetMessageTime; external user32 name 'GetMessageTime';
  658. {$ENDIF DYNAMIC_LINK}
  659. {$IFDEF DYNAMIC_LINK}
  660. var
  661.   _GetMessageExtraInfo: Pointer;
  662. function GetMessageExtraInfo;
  663. begin
  664.   GetProcedureAddress(_GetMessageExtraInfo, user32, 'GetMessageExtraInfo');
  665.   asm
  666.     mov esp, ebp
  667.     pop ebp
  668.     jmp [_GetMessageExtraInfo]
  669.   end;
  670. end;
  671. {$ELSE}
  672. function GetMessageExtraInfo; external user32 name 'GetMessageExtraInfo';
  673. {$ENDIF DYNAMIC_LINK}
  674. {$IFDEF DYNAMIC_LINK}
  675. var
  676.   _SetMessageExtraInfo: Pointer;
  677. function SetMessageExtraInfo;
  678. begin
  679.   GetProcedureAddress(_SetMessageExtraInfo, user32, 'SetMessageExtraInfo');
  680.   asm
  681.     mov esp, ebp
  682.     pop ebp
  683.     jmp [_SetMessageExtraInfo]
  684.   end;
  685. end;
  686. {$ELSE}
  687. function SetMessageExtraInfo; external user32 name 'SetMessageExtraInfo';
  688. {$ENDIF DYNAMIC_LINK}
  689. {$IFDEF DYNAMIC_LINK}
  690. var
  691.   _SendMessageA: Pointer;
  692. function SendMessageA;
  693. begin
  694.   GetProcedureAddress(_SendMessageA, user32, 'SendMessageA');
  695.   asm
  696.     mov esp, ebp
  697.     pop ebp
  698.     jmp [_SendMessageA]
  699.   end;
  700. end;
  701. {$ELSE}
  702. function SendMessageA; external user32 name 'SendMessageA';
  703. {$ENDIF DYNAMIC_LINK}
  704. {$IFDEF DYNAMIC_LINK}
  705. var
  706.   _SendMessageW: Pointer;
  707. function SendMessageW;
  708. begin
  709.   GetProcedureAddress(_SendMessageW, user32, 'SendMessageW');
  710.   asm
  711.     mov esp, ebp
  712.     pop ebp
  713.     jmp [_SendMessageW]
  714.   end;
  715. end;
  716. {$ELSE}
  717. function SendMessageW; external user32 name 'SendMessageW';
  718. {$ENDIF DYNAMIC_LINK}
  719. {$IFDEF UNICODE}
  720. {$IFDEF DYNAMIC_LINK}
  721. var
  722.   _SendMessage: Pointer;
  723. function SendMessage;
  724. begin
  725.   GetProcedureAddress(_SendMessage, user32, 'SendMessageW');
  726.   asm
  727.     mov esp, ebp
  728.     pop ebp
  729.     jmp [_SendMessage]
  730.   end;
  731. end;
  732. {$ELSE}
  733. function SendMessage; external user32 name 'SendMessageW';
  734. {$ENDIF DYNAMIC_LINK}
  735. {$ELSE}
  736. {$IFDEF DYNAMIC_LINK}
  737. var
  738.   _SendMessage: Pointer;
  739. function SendMessage;
  740. begin
  741.   GetProcedureAddress(_SendMessage, user32, 'SendMessageA');
  742.   asm
  743.     mov esp, ebp
  744.     pop ebp
  745.     jmp [_SendMessage]
  746.   end;
  747. end;
  748. {$ELSE}
  749. function SendMessage; external user32 name 'SendMessageA';
  750. {$ENDIF DYNAMIC_LINK}
  751. {$ENDIF}
  752. {$IFDEF DYNAMIC_LINK}
  753. var
  754.   _SendMessageTimeoutA: Pointer;
  755. function SendMessageTimeoutA;
  756. begin
  757.   GetProcedureAddress(_SendMessageTimeoutA, user32, 'SendMessageTimeoutA');
  758.   asm
  759.     mov esp, ebp
  760.     pop ebp
  761.     jmp [_SendMessageTimeoutA]
  762.   end;
  763. end;
  764. {$ELSE}
  765. function SendMessageTimeoutA; external user32 name 'SendMessageTimeoutA';
  766. {$ENDIF DYNAMIC_LINK}
  767. {$IFDEF DYNAMIC_LINK}
  768. var
  769.   _SendMessageTimeoutW: Pointer;
  770. function SendMessageTimeoutW;
  771. begin
  772.   GetProcedureAddress(_SendMessageTimeoutW, user32, 'SendMessageTimeoutW');
  773.   asm
  774.     mov esp, ebp
  775.     pop ebp
  776.     jmp [_SendMessageTimeoutW]
  777.   end;
  778. end;
  779. {$ELSE}
  780. function SendMessageTimeoutW; external user32 name 'SendMessageTimeoutW';
  781. {$ENDIF DYNAMIC_LINK}
  782. {$IFDEF UNICODE}
  783. {$IFDEF DYNAMIC_LINK}
  784. var
  785.   _SendMessageTimeout: Pointer;
  786. function SendMessageTimeout;
  787. begin
  788.   GetProcedureAddress(_SendMessageTimeout, user32, 'SendMessageTimeoutW');
  789.   asm
  790.     mov esp, ebp
  791.     pop ebp
  792.     jmp [_SendMessageTimeout]
  793.   end;
  794. end;
  795. {$ELSE}
  796. function SendMessageTimeout; external user32 name 'SendMessageTimeoutW';
  797. {$ENDIF DYNAMIC_LINK}
  798. {$ELSE}
  799. {$IFDEF DYNAMIC_LINK}
  800. var
  801.   _SendMessageTimeout: Pointer;
  802. function SendMessageTimeout;
  803. begin
  804.   GetProcedureAddress(_SendMessageTimeout, user32, 'SendMessageTimeoutA');
  805.   asm
  806.     mov esp, ebp
  807.     pop ebp
  808.     jmp [_SendMessageTimeout]
  809.   end;
  810. end;
  811. {$ELSE}
  812. function SendMessageTimeout; external user32 name 'SendMessageTimeoutA';
  813. {$ENDIF DYNAMIC_LINK}
  814. {$ENDIF}
  815. {$IFDEF DYNAMIC_LINK}
  816. var
  817.   _SendNotifyMessageA: Pointer;
  818. function SendNotifyMessageA;
  819. begin
  820.   GetProcedureAddress(_SendNotifyMessageA, user32, 'SendNotifyMessageA');
  821.   asm
  822.     mov esp, ebp
  823.     pop ebp
  824.     jmp [_SendNotifyMessageA]
  825.   end;
  826. end;
  827. {$ELSE}
  828. function SendNotifyMessageA; external user32 name 'SendNotifyMessageA';
  829. {$ENDIF DYNAMIC_LINK}
  830. {$IFDEF DYNAMIC_LINK}
  831. var
  832.   _SendNotifyMessageW: Pointer;
  833. function SendNotifyMessageW;
  834. begin
  835.   GetProcedureAddress(_SendNotifyMessageW, user32, 'SendNotifyMessageW');
  836.   asm
  837.     mov esp, ebp
  838.     pop ebp
  839.     jmp [_SendNotifyMessageW]
  840.   end;
  841. end;
  842. {$ELSE}
  843. function SendNotifyMessageW; external user32 name 'SendNotifyMessageW';
  844. {$ENDIF DYNAMIC_LINK}
  845. {$IFDEF UNICODE}
  846. {$IFDEF DYNAMIC_LINK}
  847. var
  848.   _SendNotifyMessage: Pointer;
  849. function SendNotifyMessage;
  850. begin
  851.   GetProcedureAddress(_SendNotifyMessage, user32, 'SendNotifyMessageW');
  852.   asm
  853.     mov esp, ebp
  854.     pop ebp
  855.     jmp [_SendNotifyMessage]
  856.   end;
  857. end;
  858. {$ELSE}
  859. function SendNotifyMessage; external user32 name 'SendNotifyMessageW';
  860. {$ENDIF DYNAMIC_LINK}
  861. {$ELSE}
  862. {$IFDEF DYNAMIC_LINK}
  863. var
  864.   _SendNotifyMessage: Pointer;
  865. function SendNotifyMessage;
  866. begin
  867.   GetProcedureAddress(_SendNotifyMessage, user32, 'SendNotifyMessageA');
  868.   asm
  869.     mov esp, ebp
  870.     pop ebp
  871.     jmp [_SendNotifyMessage]
  872.   end;
  873. end;
  874. {$ELSE}
  875. function SendNotifyMessage; external user32 name 'SendNotifyMessageA';
  876. {$ENDIF DYNAMIC_LINK}
  877. {$ENDIF}
  878. {$IFDEF DYNAMIC_LINK}
  879. var
  880.   _SendMessageCallbackA: Pointer;
  881. function SendMessageCallbackA;
  882. begin
  883.   GetProcedureAddress(_SendMessageCallbackA, user32, 'SendMessageCallbackA');
  884.   asm
  885.     mov esp, ebp
  886.     pop ebp
  887.     jmp [_SendMessageCallbackA]
  888.   end;
  889. end;
  890. {$ELSE}
  891. function SendMessageCallbackA; external user32 name 'SendMessageCallbackA';
  892. {$ENDIF DYNAMIC_LINK}
  893. {$IFDEF DYNAMIC_LINK}
  894. var
  895.   _SendMessageCallbackW: Pointer;
  896. function SendMessageCallbackW;
  897. begin
  898.   GetProcedureAddress(_SendMessageCallbackW, user32, 'SendMessageCallbackW');
  899.   asm
  900.     mov esp, ebp
  901.     pop ebp
  902.     jmp [_SendMessageCallbackW]
  903.   end;
  904. end;
  905. {$ELSE}
  906. function SendMessageCallbackW; external user32 name 'SendMessageCallbackW';
  907. {$ENDIF DYNAMIC_LINK}
  908. {$IFDEF UNICODE}
  909. {$IFDEF DYNAMIC_LINK}
  910. var
  911.   _SendMessageCallback: Pointer;
  912. function SendMessageCallback;
  913. begin
  914.   GetProcedureAddress(_SendMessageCallback, user32, 'SendMessageCallbackW');
  915.   asm
  916.     mov esp, ebp
  917.     pop ebp
  918.     jmp [_SendMessageCallback]
  919.   end;
  920. end;
  921. {$ELSE}
  922. function SendMessageCallback; external user32 name 'SendMessageCallbackW';
  923. {$ENDIF DYNAMIC_LINK}
  924. {$ELSE}
  925. {$IFDEF DYNAMIC_LINK}
  926. var
  927.   _SendMessageCallback: Pointer;
  928. function SendMessageCallback;
  929. begin
  930.   GetProcedureAddress(_SendMessageCallback, user32, 'SendMessageCallbackA');
  931.   asm
  932.     mov esp, ebp
  933.     pop ebp
  934.     jmp [_SendMessageCallback]
  935.   end;
  936. end;
  937. {$ELSE}
  938. function SendMessageCallback; external user32 name 'SendMessageCallbackA';
  939. {$ENDIF DYNAMIC_LINK}
  940. {$ENDIF}
  941. {$IFDEF DYNAMIC_LINK}
  942. var
  943.   _BroadcastSystemMessageExA: Pointer;
  944. function BroadcastSystemMessageExA;
  945. begin
  946.   GetProcedureAddress(_BroadcastSystemMessageExA, user32, 'BroadcastSystemMessageExA');
  947.   asm
  948.     mov esp, ebp
  949.     pop ebp
  950.     jmp [_BroadcastSystemMessageExA]
  951.   end;
  952. end;
  953. {$ELSE}
  954. function BroadcastSystemMessageExA; external user32 name 'BroadcastSystemMessageExA';
  955. {$ENDIF DYNAMIC_LINK}
  956. {$IFDEF DYNAMIC_LINK}
  957. var
  958.   _BroadcastSystemMessageExW: Pointer;
  959. function BroadcastSystemMessageExW;
  960. begin
  961.   GetProcedureAddress(_BroadcastSystemMessageExW, user32, 'BroadcastSystemMessageExW');
  962.   asm
  963.     mov esp, ebp
  964.     pop ebp
  965.     jmp [_BroadcastSystemMessageExW]
  966.   end;
  967. end;
  968. {$ELSE}
  969. function BroadcastSystemMessageExW; external user32 name 'BroadcastSystemMessageExW';
  970. {$ENDIF DYNAMIC_LINK}
  971. {$IFDEF UNICODE}
  972. {$IFDEF DYNAMIC_LINK}
  973. var
  974.   _BroadcastSystemMessageEx: Pointer;
  975. function BroadcastSystemMessageEx;
  976. begin
  977.   GetProcedureAddress(_BroadcastSystemMessageEx, user32, 'BroadcastSystemMessageExW');
  978.   asm
  979.     mov esp, ebp
  980.     pop ebp
  981.     jmp [_BroadcastSystemMessageEx]
  982.   end;
  983. end;
  984. {$ELSE}
  985. function BroadcastSystemMessageEx; external user32 name 'BroadcastSystemMessageExW';
  986. {$ENDIF DYNAMIC_LINK}
  987. {$ELSE}
  988. {$IFDEF DYNAMIC_LINK}
  989. var
  990.   _BroadcastSystemMessageEx: Pointer;
  991. function BroadcastSystemMessageEx;
  992. begin
  993.   GetProcedureAddress(_BroadcastSystemMessageEx, user32, 'BroadcastSystemMessageExA');
  994.   asm
  995.     mov esp, ebp
  996.     pop ebp
  997.     jmp [_BroadcastSystemMessageEx]
  998.   end;
  999. end;
  1000. {$ELSE}
  1001. function BroadcastSystemMessageEx; external user32 name 'BroadcastSystemMessageExA';
  1002. {$ENDIF DYNAMIC_LINK}
  1003. {$ENDIF}
  1004. {$IFDEF DYNAMIC_LINK}
  1005. var
  1006.   _BroadcastSystemMessageA: Pointer;
  1007. function BroadcastSystemMessageA;
  1008. begin
  1009.   GetProcedureAddress(_BroadcastSystemMessageA, user32, 'BroadcastSystemMessageA');
  1010.   asm
  1011.     mov esp, ebp
  1012.     pop ebp
  1013.     jmp [_BroadcastSystemMessageA]
  1014.   end;
  1015. end;
  1016. {$ELSE}
  1017. function BroadcastSystemMessageA; external user32 name 'BroadcastSystemMessageA';
  1018. {$ENDIF DYNAMIC_LINK}
  1019. {$IFDEF DYNAMIC_LINK}
  1020. var
  1021.   _BroadcastSystemMessageW: Pointer;
  1022. function BroadcastSystemMessageW;
  1023. begin
  1024.   GetProcedureAddress(_BroadcastSystemMessageW, user32, 'BroadcastSystemMessageW');
  1025.   asm
  1026.     mov esp, ebp
  1027.     pop ebp
  1028.     jmp [_BroadcastSystemMessageW]
  1029.   end;
  1030. end;
  1031. {$ELSE}
  1032. function BroadcastSystemMessageW; external user32 name 'BroadcastSystemMessageW';
  1033. {$ENDIF DYNAMIC_LINK}
  1034. {$IFDEF UNICODE}
  1035. {$IFDEF DYNAMIC_LINK}
  1036. var
  1037.   _BroadcastSystemMessage: Pointer;
  1038. function BroadcastSystemMessage;
  1039. begin
  1040.   GetProcedureAddress(_BroadcastSystemMessage, user32, 'BroadcastSystemMessageW');
  1041.   asm
  1042.     mov esp, ebp
  1043.     pop ebp
  1044.     jmp [_BroadcastSystemMessage]
  1045.   end;
  1046. end;
  1047. {$ELSE}
  1048. function BroadcastSystemMessage; external user32 name 'BroadcastSystemMessageW';
  1049. {$ENDIF DYNAMIC_LINK}
  1050. {$ELSE}
  1051. {$IFDEF DYNAMIC_LINK}
  1052. var
  1053.   _BroadcastSystemMessage: Pointer;
  1054. function BroadcastSystemMessage;
  1055. begin
  1056.   GetProcedureAddress(_BroadcastSystemMessage, user32, 'BroadcastSystemMessageA');
  1057.   asm
  1058.     mov esp, ebp
  1059.     pop ebp
  1060.     jmp [_BroadcastSystemMessage]
  1061.   end;
  1062. end;
  1063. {$ELSE}
  1064. function BroadcastSystemMessage; external user32 name 'BroadcastSystemMessageA';
  1065. {$ENDIF DYNAMIC_LINK}
  1066. {$ENDIF}
  1067. {$IFDEF DYNAMIC_LINK}
  1068. var
  1069.   _RegisterDeviceNotificationA: Pointer;
  1070. function RegisterDeviceNotificationA;
  1071. begin
  1072.   GetProcedureAddress(_RegisterDeviceNotificationA, user32, 'RegisterDeviceNotificationA');
  1073.   asm
  1074.     mov esp, ebp
  1075.     pop ebp
  1076.     jmp [_RegisterDeviceNotificationA]
  1077.   end;
  1078. end;
  1079. {$ELSE}
  1080. function RegisterDeviceNotificationA; external user32 name 'RegisterDeviceNotificationA';
  1081. {$ENDIF DYNAMIC_LINK}
  1082. {$IFDEF DYNAMIC_LINK}
  1083. var
  1084.   _RegisterDeviceNotificationW: Pointer;
  1085. function RegisterDeviceNotificationW;
  1086. begin
  1087.   GetProcedureAddress(_RegisterDeviceNotificationW, user32, 'RegisterDeviceNotificationW');
  1088.   asm
  1089.     mov esp, ebp
  1090.     pop ebp
  1091.     jmp [_RegisterDeviceNotificationW]
  1092.   end;
  1093. end;
  1094. {$ELSE}
  1095. function RegisterDeviceNotificationW; external user32 name 'RegisterDeviceNotificationW';
  1096. {$ENDIF DYNAMIC_LINK}
  1097. {$IFDEF UNICODE}
  1098. {$IFDEF DYNAMIC_LINK}
  1099. var
  1100.   _RegisterDeviceNotification: Pointer;
  1101. function RegisterDeviceNotification;
  1102. begin
  1103.   GetProcedureAddress(_RegisterDeviceNotification, user32, 'RegisterDeviceNotificationW');
  1104.   asm
  1105.     mov esp, ebp
  1106.     pop ebp
  1107.     jmp [_RegisterDeviceNotification]
  1108.   end;
  1109. end;
  1110. {$ELSE}
  1111. function RegisterDeviceNotification; external user32 name 'RegisterDeviceNotificationW';
  1112. {$ENDIF DYNAMIC_LINK}
  1113. {$ELSE}
  1114. {$IFDEF DYNAMIC_LINK}
  1115. var
  1116.   _RegisterDeviceNotification: Pointer;
  1117. function RegisterDeviceNotification;
  1118. begin
  1119.   GetProcedureAddress(_RegisterDeviceNotification, user32, 'RegisterDeviceNotificationA');
  1120.   asm
  1121.     mov esp, ebp
  1122.     pop ebp
  1123.     jmp [_RegisterDeviceNotification]
  1124.   end;
  1125. end;
  1126. {$ELSE}
  1127. function RegisterDeviceNotification; external user32 name 'RegisterDeviceNotificationA';
  1128. {$ENDIF DYNAMIC_LINK}
  1129. {$ENDIF}
  1130. {$IFDEF DYNAMIC_LINK}
  1131. var
  1132.   _UnregisterDeviceNotification: Pointer;
  1133. function UnregisterDeviceNotification;
  1134. begin
  1135.   GetProcedureAddress(_UnregisterDeviceNotification, user32, 'UnregisterDeviceNotification');
  1136.   asm
  1137.     mov esp, ebp
  1138.     pop ebp
  1139.     jmp [_UnregisterDeviceNotification]
  1140.   end;
  1141. end;
  1142. {$ELSE}
  1143. function UnregisterDeviceNotification; external user32 name 'UnregisterDeviceNotification';
  1144. {$ENDIF DYNAMIC_LINK}
  1145. {$IFDEF DYNAMIC_LINK}
  1146. var
  1147.   _PostMessageA: Pointer;
  1148. function PostMessageA;
  1149. begin
  1150.   GetProcedureAddress(_PostMessageA, user32, 'PostMessageA');
  1151.   asm
  1152.     mov esp, ebp
  1153.     pop ebp
  1154.     jmp [_PostMessageA]
  1155.   end;
  1156. end;
  1157. {$ELSE}
  1158. function PostMessageA; external user32 name 'PostMessageA';
  1159. {$ENDIF DYNAMIC_LINK}
  1160. {$IFDEF DYNAMIC_LINK}
  1161. var
  1162.   _PostMessageW: Pointer;
  1163. function PostMessageW;
  1164. begin
  1165.   GetProcedureAddress(_PostMessageW, user32, 'PostMessageW');
  1166.   asm
  1167.     mov esp, ebp
  1168.     pop ebp
  1169.     jmp [_PostMessageW]
  1170.   end;
  1171. end;
  1172. {$ELSE}
  1173. function PostMessageW; external user32 name 'PostMessageW';
  1174. {$ENDIF DYNAMIC_LINK}
  1175. {$IFDEF UNICODE}
  1176. {$IFDEF DYNAMIC_LINK}
  1177. var
  1178.   _PostMessage: Pointer;
  1179. function PostMessage;
  1180. begin
  1181.   GetProcedureAddress(_PostMessage, user32, 'PostMessageW');
  1182.   asm
  1183.     mov esp, ebp
  1184.     pop ebp
  1185.     jmp [_PostMessage]
  1186.   end;
  1187. end;
  1188. {$ELSE}
  1189. function PostMessage; external user32 name 'PostMessageW';
  1190. {$ENDIF DYNAMIC_LINK}
  1191. {$ELSE}
  1192. {$IFDEF DYNAMIC_LINK}
  1193. var
  1194.   _PostMessage: Pointer;
  1195. function PostMessage;
  1196. begin
  1197.   GetProcedureAddress(_PostMessage, user32, 'PostMessageA');
  1198.   asm
  1199.     mov esp, ebp
  1200.     pop ebp
  1201.     jmp [_PostMessage]
  1202.   end;
  1203. end;
  1204. {$ELSE}
  1205. function PostMessage; external user32 name 'PostMessageA';
  1206. {$ENDIF DYNAMIC_LINK}
  1207. {$ENDIF}
  1208. {$IFDEF DYNAMIC_LINK}
  1209. var
  1210.   _PostThreadMessageA: Pointer;
  1211. function PostThreadMessageA;
  1212. begin
  1213.   GetProcedureAddress(_PostThreadMessageA, user32, 'PostThreadMessageA');
  1214.   asm
  1215.     mov esp, ebp
  1216.     pop ebp
  1217.     jmp [_PostThreadMessageA]
  1218.   end;
  1219. end;
  1220. {$ELSE}
  1221. function PostThreadMessageA; external user32 name 'PostThreadMessageA';
  1222. {$ENDIF DYNAMIC_LINK}
  1223. {$IFDEF DYNAMIC_LINK}
  1224. var
  1225.   _PostThreadMessageW: Pointer;
  1226. function PostThreadMessageW;
  1227. begin
  1228.   GetProcedureAddress(_PostThreadMessageW, user32, 'PostThreadMessageW');
  1229.   asm
  1230.     mov esp, ebp
  1231.     pop ebp
  1232.     jmp [_PostThreadMessageW]
  1233.   end;
  1234. end;
  1235. {$ELSE}
  1236. function PostThreadMessageW; external user32 name 'PostThreadMessageW';
  1237. {$ENDIF DYNAMIC_LINK}
  1238. {$IFDEF UNICODE}
  1239. {$IFDEF DYNAMIC_LINK}
  1240. var
  1241.   _PostThreadMessage: Pointer;
  1242. function PostThreadMessage;
  1243. begin
  1244.   GetProcedureAddress(_PostThreadMessage, user32, 'PostThreadMessageW');
  1245.   asm
  1246.     mov esp, ebp
  1247.     pop ebp
  1248.     jmp [_PostThreadMessage]
  1249.   end;
  1250. end;
  1251. {$ELSE}
  1252. function PostThreadMessage; external user32 name 'PostThreadMessageW';
  1253. {$ENDIF DYNAMIC_LINK}
  1254. {$ELSE}
  1255. {$IFDEF DYNAMIC_LINK}
  1256. var
  1257.   _PostThreadMessage: Pointer;
  1258. function PostThreadMessage;
  1259. begin
  1260.   GetProcedureAddress(_PostThreadMessage, user32, 'PostThreadMessageA');
  1261.   asm
  1262.     mov esp, ebp
  1263.     pop ebp
  1264.     jmp [_PostThreadMessage]
  1265.   end;
  1266. end;
  1267. {$ELSE}
  1268. function PostThreadMessage; external user32 name 'PostThreadMessageA';
  1269. {$ENDIF DYNAMIC_LINK}
  1270. {$ENDIF}
  1271. {$IFDEF DYNAMIC_LINK}
  1272. var
  1273.   _AttachThreadInput: Pointer;
  1274. function AttachThreadInput;
  1275. begin
  1276.   GetProcedureAddress(_AttachThreadInput, user32, 'AttachThreadInput');
  1277.   asm
  1278.     mov esp, ebp
  1279.     pop ebp
  1280.     jmp [_AttachThreadInput]
  1281.   end;
  1282. end;
  1283. {$ELSE}
  1284. function AttachThreadInput; external user32 name 'AttachThreadInput';
  1285. {$ENDIF DYNAMIC_LINK}
  1286. {$IFDEF DYNAMIC_LINK}
  1287. var
  1288.   _ReplyMessage: Pointer;
  1289. function ReplyMessage;
  1290. begin
  1291.   GetProcedureAddress(_ReplyMessage, user32, 'ReplyMessage');
  1292.   asm
  1293.     mov esp, ebp
  1294.     pop ebp
  1295.     jmp [_ReplyMessage]
  1296.   end;
  1297. end;
  1298. {$ELSE}
  1299. function ReplyMessage; external user32 name 'ReplyMessage';
  1300. {$ENDIF DYNAMIC_LINK}
  1301. {$IFDEF DYNAMIC_LINK}
  1302. var
  1303.   _WaitMessage: Pointer;
  1304. function WaitMessage;
  1305. begin
  1306.   GetProcedureAddress(_WaitMessage, user32, 'WaitMessage');
  1307.   asm
  1308.     mov esp, ebp
  1309.     pop ebp
  1310.     jmp [_WaitMessage]
  1311.   end;
  1312. end;
  1313. {$ELSE}
  1314. function WaitMessage; external user32 name 'WaitMessage';
  1315. {$ENDIF DYNAMIC_LINK}
  1316. {$IFDEF DYNAMIC_LINK}
  1317. var
  1318.   _WaitForInputIdle: Pointer;
  1319. function WaitForInputIdle;
  1320. begin
  1321.   GetProcedureAddress(_WaitForInputIdle, user32, 'WaitForInputIdle');
  1322.   asm
  1323.     mov esp, ebp
  1324.     pop ebp
  1325.     jmp [_WaitForInputIdle]
  1326.   end;
  1327. end;
  1328. {$ELSE}
  1329. function WaitForInputIdle; external user32 name 'WaitForInputIdle';
  1330. {$ENDIF DYNAMIC_LINK}
  1331. {$IFDEF DYNAMIC_LINK}
  1332. var
  1333.   _DefWindowProcA: Pointer;
  1334. function DefWindowProcA;
  1335. begin
  1336.   GetProcedureAddress(_DefWindowProcA, user32, 'DefWindowProcA');
  1337.   asm
  1338.     mov esp, ebp
  1339.     pop ebp
  1340.     jmp [_DefWindowProcA]
  1341.   end;
  1342. end;
  1343. {$ELSE}
  1344. function DefWindowProcA; external user32 name 'DefWindowProcA';
  1345. {$ENDIF DYNAMIC_LINK}
  1346. {$IFDEF DYNAMIC_LINK}
  1347. var
  1348.   _DefWindowProcW: Pointer;
  1349. function DefWindowProcW;
  1350. begin
  1351.   GetProcedureAddress(_DefWindowProcW, user32, 'DefWindowProcW');
  1352.   asm
  1353.     mov esp, ebp
  1354.     pop ebp
  1355.     jmp [_DefWindowProcW]
  1356.   end;
  1357. end;
  1358. {$ELSE}
  1359. function DefWindowProcW; external user32 name 'DefWindowProcW';
  1360. {$ENDIF DYNAMIC_LINK}
  1361. {$IFDEF UNICODE}
  1362. {$IFDEF DYNAMIC_LINK}
  1363. var
  1364.   _DefWindowProc: Pointer;
  1365. function DefWindowProc;
  1366. begin
  1367.   GetProcedureAddress(_DefWindowProc, user32, 'DefWindowProcW');
  1368.   asm
  1369.     mov esp, ebp
  1370.     pop ebp
  1371.     jmp [_DefWindowProc]
  1372.   end;
  1373. end;
  1374. {$ELSE}
  1375. function DefWindowProc; external user32 name 'DefWindowProcW';
  1376. {$ENDIF DYNAMIC_LINK}
  1377. {$ELSE}
  1378. {$IFDEF DYNAMIC_LINK}
  1379. var
  1380.   _DefWindowProc: Pointer;
  1381. function DefWindowProc;
  1382. begin
  1383.   GetProcedureAddress(_DefWindowProc, user32, 'DefWindowProcA');
  1384.   asm
  1385.     mov esp, ebp
  1386.     pop ebp
  1387.     jmp [_DefWindowProc]
  1388.   end;
  1389. end;
  1390. {$ELSE}
  1391. function DefWindowProc; external user32 name 'DefWindowProcA';
  1392. {$ENDIF DYNAMIC_LINK}
  1393. {$ENDIF}
  1394. {$IFDEF DYNAMIC_LINK}
  1395. var
  1396.   _PostQuitMessage: Pointer;
  1397. procedure PostQuitMessage;
  1398. begin
  1399.   GetProcedureAddress(_PostQuitMessage, user32, 'PostQuitMessage');
  1400.   asm
  1401.     mov esp, ebp
  1402.     pop ebp
  1403.     jmp [_PostQuitMessage]
  1404.   end;
  1405. end;
  1406. {$ELSE}
  1407. procedure PostQuitMessage; external user32 name 'PostQuitMessage';
  1408. {$ENDIF DYNAMIC_LINK}
  1409. {$IFDEF DYNAMIC_LINK}
  1410. var
  1411.   _CallWindowProcA: Pointer;
  1412. function CallWindowProcA;
  1413. begin
  1414.   GetProcedureAddress(_CallWindowProcA, user32, 'CallWindowProcA');
  1415.   asm
  1416.     mov esp, ebp
  1417.     pop ebp
  1418.     jmp [_CallWindowProcA]
  1419.   end;
  1420. end;
  1421. {$ELSE}
  1422. function CallWindowProcA; external user32 name 'CallWindowProcA';
  1423. {$ENDIF DYNAMIC_LINK}
  1424. {$IFDEF DYNAMIC_LINK}
  1425. var
  1426.   _CallWindowProcW: Pointer;
  1427. function CallWindowProcW;
  1428. begin
  1429.   GetProcedureAddress(_CallWindowProcW, user32, 'CallWindowProcW');
  1430.   asm
  1431.     mov esp, ebp
  1432.     pop ebp
  1433.     jmp [_CallWindowProcW]
  1434.   end;
  1435. end;
  1436. {$ELSE}
  1437. function CallWindowProcW; external user32 name 'CallWindowProcW';
  1438. {$ENDIF DYNAMIC_LINK}
  1439. {$IFDEF UNICODE}
  1440. {$IFDEF DYNAMIC_LINK}
  1441. var
  1442.   _CallWindowProc: Pointer;
  1443. function CallWindowProc;
  1444. begin
  1445.   GetProcedureAddress(_CallWindowProc, user32, 'CallWindowProcW');
  1446.   asm
  1447.     mov esp, ebp
  1448.     pop ebp
  1449.     jmp [_CallWindowProc]
  1450.   end;
  1451. end;
  1452. {$ELSE}
  1453. function CallWindowProc; external user32 name 'CallWindowProcW';
  1454. {$ENDIF DYNAMIC_LINK}
  1455. {$ELSE}
  1456. {$IFDEF DYNAMIC_LINK}
  1457. var
  1458.   _CallWindowProc: Pointer;
  1459. function CallWindowProc;
  1460. begin
  1461.   GetProcedureAddress(_CallWindowProc, user32, 'CallWindowProcA');
  1462.   asm
  1463.     mov esp, ebp
  1464.     pop ebp
  1465.     jmp [_CallWindowProc]
  1466.   end;
  1467. end;
  1468. {$ELSE}
  1469. function CallWindowProc; external user32 name 'CallWindowProcA';
  1470. {$ENDIF DYNAMIC_LINK}
  1471. {$ENDIF}
  1472. {$IFDEF DYNAMIC_LINK}
  1473. var
  1474.   _InSendMessage: Pointer;
  1475. function InSendMessage;
  1476. begin
  1477.   GetProcedureAddress(_InSendMessage, user32, 'InSendMessage');
  1478.   asm
  1479.     mov esp, ebp
  1480.     pop ebp
  1481.     jmp [_InSendMessage]
  1482.   end;
  1483. end;
  1484. {$ELSE}
  1485. function InSendMessage; external user32 name 'InSendMessage';
  1486. {$ENDIF DYNAMIC_LINK}
  1487. {$IFDEF DYNAMIC_LINK}
  1488. var
  1489.   _InSendMessageEx: Pointer;
  1490. function InSendMessageEx;
  1491. begin
  1492.   GetProcedureAddress(_InSendMessageEx, user32, 'InSendMessageEx');
  1493.   asm
  1494.     mov esp, ebp
  1495.     pop ebp
  1496.     jmp [_InSendMessageEx]
  1497.   end;
  1498. end;
  1499. {$ELSE}
  1500. function InSendMessageEx; external user32 name 'InSendMessageEx';
  1501. {$ENDIF DYNAMIC_LINK}
  1502. {$IFDEF DYNAMIC_LINK}
  1503. var
  1504.   _GetDoubleClickTime: Pointer;
  1505. function GetDoubleClickTime;
  1506. begin
  1507.   GetProcedureAddress(_GetDoubleClickTime, user32, 'GetDoubleClickTime');
  1508.   asm
  1509.     mov esp, ebp
  1510.     pop ebp
  1511.     jmp [_GetDoubleClickTime]
  1512.   end;
  1513. end;
  1514. {$ELSE}
  1515. function GetDoubleClickTime; external user32 name 'GetDoubleClickTime';
  1516. {$ENDIF DYNAMIC_LINK}
  1517. {$IFDEF DYNAMIC_LINK}
  1518. var
  1519.   _SetDoubleClickTime: Pointer;
  1520. function SetDoubleClickTime;
  1521. begin
  1522.   GetProcedureAddress(_SetDoubleClickTime, user32, 'SetDoubleClickTime');
  1523.   asm
  1524.     mov esp, ebp
  1525.     pop ebp
  1526.     jmp [_SetDoubleClickTime]
  1527.   end;
  1528. end;
  1529. {$ELSE}
  1530. function SetDoubleClickTime; external user32 name 'SetDoubleClickTime';
  1531. {$ENDIF DYNAMIC_LINK}
  1532. {$IFDEF DYNAMIC_LINK}
  1533. var
  1534.   _RegisterClassA: Pointer;
  1535. function RegisterClassA;
  1536. begin
  1537.   GetProcedureAddress(_RegisterClassA, user32, 'RegisterClassA');
  1538.   asm
  1539.     mov esp, ebp
  1540.     pop ebp
  1541.     jmp [_RegisterClassA]
  1542.   end;
  1543. end;
  1544. {$ELSE}
  1545. function RegisterClassA; external user32 name 'RegisterClassA';
  1546. {$ENDIF DYNAMIC_LINK}
  1547. {$IFDEF DYNAMIC_LINK}
  1548. var
  1549.   _RegisterClassW: Pointer;
  1550. function RegisterClassW;
  1551. begin
  1552.   GetProcedureAddress(_RegisterClassW, user32, 'RegisterClassW');
  1553.   asm
  1554.     mov esp, ebp
  1555.     pop ebp
  1556.     jmp [_RegisterClassW]
  1557.   end;
  1558. end;
  1559. {$ELSE}
  1560. function RegisterClassW; external user32 name 'RegisterClassW';
  1561. {$ENDIF DYNAMIC_LINK}
  1562. {$IFDEF UNICODE}
  1563. {$IFDEF DYNAMIC_LINK}
  1564. var
  1565.   _RegisterClass: Pointer;
  1566. function RegisterClass;
  1567. begin
  1568.   GetProcedureAddress(_RegisterClass, user32, 'RegisterClassW');
  1569.   asm
  1570.     mov esp, ebp
  1571.     pop ebp
  1572.     jmp [_RegisterClass]
  1573.   end;
  1574. end;
  1575. {$ELSE}
  1576. function RegisterClass; external user32 name 'RegisterClassW';
  1577. {$ENDIF DYNAMIC_LINK}
  1578. {$ELSE}
  1579. {$IFDEF DYNAMIC_LINK}
  1580. var
  1581.   _RegisterClass: Pointer;
  1582. function RegisterClass;
  1583. begin
  1584.   GetProcedureAddress(_RegisterClass, user32, 'RegisterClassA');
  1585.   asm
  1586.     mov esp, ebp
  1587.     pop ebp
  1588.     jmp [_RegisterClass]
  1589.   end;
  1590. end;
  1591. {$ELSE}
  1592. function RegisterClass; external user32 name 'RegisterClassA';
  1593. {$ENDIF DYNAMIC_LINK}
  1594. {$ENDIF}
  1595. {$IFDEF DYNAMIC_LINK}
  1596. var
  1597.   _UnregisterClassA: Pointer;
  1598. function UnregisterClassA;
  1599. begin
  1600.   GetProcedureAddress(_UnregisterClassA, user32, 'UnregisterClassA');
  1601.   asm
  1602.     mov esp, ebp
  1603.     pop ebp
  1604.     jmp [_UnregisterClassA]
  1605.   end;
  1606. end;
  1607. {$ELSE}
  1608. function UnregisterClassA; external user32 name 'UnregisterClassA';
  1609. {$ENDIF DYNAMIC_LINK}
  1610. {$IFDEF DYNAMIC_LINK}
  1611. var
  1612.   _UnregisterClassW: Pointer;
  1613. function UnregisterClassW;
  1614. begin
  1615.   GetProcedureAddress(_UnregisterClassW, user32, 'UnregisterClassW');
  1616.   asm
  1617.     mov esp, ebp
  1618.     pop ebp
  1619.     jmp [_UnregisterClassW]
  1620.   end;
  1621. end;
  1622. {$ELSE}
  1623. function UnregisterClassW; external user32 name 'UnregisterClassW';
  1624. {$ENDIF DYNAMIC_LINK}
  1625. {$IFDEF UNICODE}
  1626. {$IFDEF DYNAMIC_LINK}
  1627. var
  1628.   _UnregisterClass: Pointer;
  1629. function UnregisterClass;
  1630. begin
  1631.   GetProcedureAddress(_UnregisterClass, user32, 'UnregisterClassW');
  1632.   asm
  1633.     mov esp, ebp
  1634.     pop ebp
  1635.     jmp [_UnregisterClass]
  1636.   end;
  1637. end;
  1638. {$ELSE}
  1639. function UnregisterClass; external user32 name 'UnregisterClassW';
  1640. {$ENDIF DYNAMIC_LINK}
  1641. {$ELSE}
  1642. {$IFDEF DYNAMIC_LINK}
  1643. var
  1644.   _UnregisterClass: Pointer;
  1645. function UnregisterClass;
  1646. begin
  1647.   GetProcedureAddress(_UnregisterClass, user32, 'UnregisterClassA');
  1648.   asm
  1649.     mov esp, ebp
  1650.     pop ebp
  1651.     jmp [_UnregisterClass]
  1652.   end;
  1653. end;
  1654. {$ELSE}
  1655. function UnregisterClass; external user32 name 'UnregisterClassA';
  1656. {$ENDIF DYNAMIC_LINK}
  1657. {$ENDIF}
  1658. {$IFDEF DYNAMIC_LINK}
  1659. var
  1660.   _GetClassInfoA: Pointer;
  1661. function GetClassInfoA;
  1662. begin
  1663.   GetProcedureAddress(_GetClassInfoA, user32, 'GetClassInfoA');
  1664.   asm
  1665.     mov esp, ebp
  1666.     pop ebp
  1667.     jmp [_GetClassInfoA]
  1668.   end;
  1669. end;
  1670. {$ELSE}
  1671. function GetClassInfoA; external user32 name 'GetClassInfoA';
  1672. {$ENDIF DYNAMIC_LINK}
  1673. {$IFDEF DYNAMIC_LINK}
  1674. var
  1675.   _GetClassInfoW: Pointer;
  1676. function GetClassInfoW;
  1677. begin
  1678.   GetProcedureAddress(_GetClassInfoW, user32, 'GetClassInfoW');
  1679.   asm
  1680.     mov esp, ebp
  1681.     pop ebp
  1682.     jmp [_GetClassInfoW]
  1683.   end;
  1684. end;
  1685. {$ELSE}
  1686. function GetClassInfoW; external user32 name 'GetClassInfoW';
  1687. {$ENDIF DYNAMIC_LINK}
  1688. {$IFDEF UNICODE}
  1689. {$IFDEF DYNAMIC_LINK}
  1690. var
  1691.   _GetClassInfo: Pointer;
  1692. function GetClassInfo;
  1693. begin
  1694.   GetProcedureAddress(_GetClassInfo, user32, 'GetClassInfoW');
  1695.   asm
  1696.     mov esp, ebp
  1697.     pop ebp
  1698.     jmp [_GetClassInfo]
  1699.   end;
  1700. end;
  1701. {$ELSE}
  1702. function GetClassInfo; external user32 name 'GetClassInfoW';
  1703. {$ENDIF DYNAMIC_LINK}
  1704. {$ELSE}
  1705. {$IFDEF DYNAMIC_LINK}
  1706. var
  1707.   _GetClassInfo: Pointer;
  1708. function GetClassInfo;
  1709. begin
  1710.   GetProcedureAddress(_GetClassInfo, user32, 'GetClassInfoA');
  1711.   asm
  1712.     mov esp, ebp
  1713.     pop ebp
  1714.     jmp [_GetClassInfo]
  1715.   end;
  1716. end;
  1717. {$ELSE}
  1718. function GetClassInfo; external user32 name 'GetClassInfoA';
  1719. {$ENDIF DYNAMIC_LINK}
  1720. {$ENDIF}
  1721. {$IFDEF DYNAMIC_LINK}
  1722. var
  1723.   _RegisterClassExA: Pointer;
  1724. function RegisterClassExA;
  1725. begin
  1726.   GetProcedureAddress(_RegisterClassExA, user32, 'RegisterClassExA');
  1727.   asm
  1728.     mov esp, ebp
  1729.     pop ebp
  1730.     jmp [_RegisterClassExA]
  1731.   end;
  1732. end;
  1733. {$ELSE}
  1734. function RegisterClassExA; external user32 name 'RegisterClassExA';
  1735. {$ENDIF DYNAMIC_LINK}
  1736. {$IFDEF DYNAMIC_LINK}
  1737. var
  1738.   _RegisterClassExW: Pointer;
  1739. function RegisterClassExW;
  1740. begin
  1741.   GetProcedureAddress(_RegisterClassExW, user32, 'RegisterClassExW');
  1742.   asm
  1743.     mov esp, ebp
  1744.     pop ebp
  1745.     jmp [_RegisterClassExW]
  1746.   end;
  1747. end;
  1748. {$ELSE}
  1749. function RegisterClassExW; external user32 name 'RegisterClassExW';
  1750. {$ENDIF DYNAMIC_LINK}
  1751. {$IFDEF UNICODE}
  1752. {$IFDEF DYNAMIC_LINK}
  1753. var
  1754.   _RegisterClassEx: Pointer;
  1755. function RegisterClassEx;
  1756. begin
  1757.   GetProcedureAddress(_RegisterClassEx, user32, 'RegisterClassExW');
  1758.   asm
  1759.     mov esp, ebp
  1760.     pop ebp
  1761.     jmp [_RegisterClassEx]
  1762.   end;
  1763. end;
  1764. {$ELSE}
  1765. function RegisterClassEx; external user32 name 'RegisterClassExW';
  1766. {$ENDIF DYNAMIC_LINK}
  1767. {$ELSE}
  1768. {$IFDEF DYNAMIC_LINK}
  1769. var
  1770.   _RegisterClassEx: Pointer;
  1771. function RegisterClassEx;
  1772. begin
  1773.   GetProcedureAddress(_RegisterClassEx, user32, 'RegisterClassExA');
  1774.   asm
  1775.     mov esp, ebp
  1776.     pop ebp
  1777.     jmp [_RegisterClassEx]
  1778.   end;
  1779. end;
  1780. {$ELSE}
  1781. function RegisterClassEx; external user32 name 'RegisterClassExA';
  1782. {$ENDIF DYNAMIC_LINK}
  1783. {$ENDIF}
  1784. {$IFDEF DYNAMIC_LINK}
  1785. var
  1786.   _GetClassInfoExA: Pointer;
  1787. function GetClassInfoExA;
  1788. begin
  1789.   GetProcedureAddress(_GetClassInfoExA, user32, 'GetClassInfoExA');
  1790.   asm
  1791.     mov esp, ebp
  1792.     pop ebp
  1793.     jmp [_GetClassInfoExA]
  1794.   end;
  1795. end;
  1796. {$ELSE}
  1797. function GetClassInfoExA; external user32 name 'GetClassInfoExA';
  1798. {$ENDIF DYNAMIC_LINK}
  1799. {$IFDEF DYNAMIC_LINK}
  1800. var
  1801.   _GetClassInfoExW: Pointer;
  1802. function GetClassInfoExW;
  1803. begin
  1804.   GetProcedureAddress(_GetClassInfoExW, user32, 'GetClassInfoExW');
  1805.   asm
  1806.     mov esp, ebp
  1807.     pop ebp
  1808.     jmp [_GetClassInfoExW]
  1809.   end;
  1810. end;
  1811. {$ELSE}
  1812. function GetClassInfoExW; external user32 name 'GetClassInfoExW';
  1813. {$ENDIF DYNAMIC_LINK}
  1814. {$IFDEF UNICODE}
  1815. {$IFDEF DYNAMIC_LINK}
  1816. var
  1817.   _GetClassInfoEx: Pointer;
  1818. function GetClassInfoEx;
  1819. begin
  1820.   GetProcedureAddress(_GetClassInfoEx, user32, 'GetClassInfoExW');
  1821.   asm
  1822.     mov esp, ebp
  1823.     pop ebp
  1824.     jmp [_GetClassInfoEx]
  1825.   end;
  1826. end;
  1827. {$ELSE}
  1828. function GetClassInfoEx; external user32 name 'GetClassInfoExW';
  1829. {$ENDIF DYNAMIC_LINK}
  1830. {$ELSE}
  1831. {$IFDEF DYNAMIC_LINK}
  1832. var
  1833.   _GetClassInfoEx: Pointer;
  1834. function GetClassInfoEx;
  1835. begin
  1836.   GetProcedureAddress(_GetClassInfoEx, user32, 'GetClassInfoExA');
  1837.   asm
  1838.     mov esp, ebp
  1839.     pop ebp
  1840.     jmp [_GetClassInfoEx]
  1841.   end;
  1842. end;
  1843. {$ELSE}
  1844. function GetClassInfoEx; external user32 name 'GetClassInfoExA';
  1845. {$ENDIF DYNAMIC_LINK}
  1846. {$ENDIF}
  1847. {$IFDEF DYNAMIC_LINK}
  1848. var
  1849.   _CreateWindowExA: Pointer;
  1850. function CreateWindowExA;
  1851. begin
  1852.   GetProcedureAddress(_CreateWindowExA, user32, 'CreateWindowExA');
  1853.   asm
  1854.     mov esp, ebp
  1855.     pop ebp
  1856.     jmp [_CreateWindowExA]
  1857.   end;
  1858. end;
  1859. {$ELSE}
  1860. function CreateWindowExA; external user32 name 'CreateWindowExA';
  1861. {$ENDIF DYNAMIC_LINK}
  1862. {$IFDEF DYNAMIC_LINK}
  1863. var
  1864.   _CreateWindowExW: Pointer;
  1865. function CreateWindowExW;
  1866. begin
  1867.   GetProcedureAddress(_CreateWindowExW, user32, 'CreateWindowExW');
  1868.   asm
  1869.     mov esp, ebp
  1870.     pop ebp
  1871.     jmp [_CreateWindowExW]
  1872.   end;
  1873. end;
  1874. {$ELSE}
  1875. function CreateWindowExW; external user32 name 'CreateWindowExW';
  1876. {$ENDIF DYNAMIC_LINK}
  1877. {$IFDEF UNICODE}
  1878. {$IFDEF DYNAMIC_LINK}
  1879. var
  1880.   _CreateWindowEx: Pointer;
  1881. function CreateWindowEx;
  1882. begin
  1883.   GetProcedureAddress(_CreateWindowEx, user32, 'CreateWindowExW');
  1884.   asm
  1885.     mov esp, ebp
  1886.     pop ebp
  1887.     jmp [_CreateWindowEx]
  1888.   end;
  1889. end;
  1890. {$ELSE}
  1891. function CreateWindowEx; external user32 name 'CreateWindowExW';
  1892. {$ENDIF DYNAMIC_LINK}
  1893. {$ELSE}
  1894. {$IFDEF DYNAMIC_LINK}
  1895. var
  1896.   _CreateWindowEx: Pointer;
  1897. function CreateWindowEx;
  1898. begin
  1899.   GetProcedureAddress(_CreateWindowEx, user32, 'CreateWindowExA');
  1900.   asm
  1901.     mov esp, ebp
  1902.     pop ebp
  1903.     jmp [_CreateWindowEx]
  1904.   end;
  1905. end;
  1906. {$ELSE}
  1907. function CreateWindowEx; external user32 name 'CreateWindowExA';
  1908. {$ENDIF DYNAMIC_LINK}
  1909. {$ENDIF}
  1910. {$IFDEF DYNAMIC_LINK}
  1911. var
  1912.   _IsWindow: Pointer;
  1913. function IsWindow;
  1914. begin
  1915.   GetProcedureAddress(_IsWindow, user32, 'IsWindow');
  1916.   asm
  1917.     mov esp, ebp
  1918.     pop ebp
  1919.     jmp [_IsWindow]
  1920.   end;
  1921. end;
  1922. {$ELSE}
  1923. function IsWindow; external user32 name 'IsWindow';
  1924. {$ENDIF DYNAMIC_LINK}
  1925. {$IFDEF DYNAMIC_LINK}
  1926. var
  1927.   _IsMenu: Pointer;
  1928. function IsMenu;
  1929. begin
  1930.   GetProcedureAddress(_IsMenu, user32, 'IsMenu');
  1931.   asm
  1932.     mov esp, ebp
  1933.     pop ebp
  1934.     jmp [_IsMenu]
  1935.   end;
  1936. end;
  1937. {$ELSE}
  1938. function IsMenu; external user32 name 'IsMenu';
  1939. {$ENDIF DYNAMIC_LINK}
  1940. {$IFDEF DYNAMIC_LINK}
  1941. var
  1942.   _IsChild: Pointer;
  1943. function IsChild;
  1944. begin
  1945.   GetProcedureAddress(_IsChild, user32, 'IsChild');
  1946.   asm
  1947.     mov esp, ebp
  1948.     pop ebp
  1949.     jmp [_IsChild]
  1950.   end;
  1951. end;
  1952. {$ELSE}
  1953. function IsChild; external user32 name 'IsChild';
  1954. {$ENDIF DYNAMIC_LINK}
  1955. {$IFDEF DYNAMIC_LINK}
  1956. var
  1957.   _DestroyWindow: Pointer;
  1958. function DestroyWindow;
  1959. begin
  1960.   GetProcedureAddress(_DestroyWindow, user32, 'DestroyWindow');
  1961.   asm
  1962.     mov esp, ebp
  1963.     pop ebp
  1964.     jmp [_DestroyWindow]
  1965.   end;
  1966. end;
  1967. {$ELSE}
  1968. function DestroyWindow; external user32 name 'DestroyWindow';
  1969. {$ENDIF DYNAMIC_LINK}
  1970. {$IFDEF DYNAMIC_LINK}
  1971. var
  1972.   _ShowWindow: Pointer;
  1973. function ShowWindow;
  1974. begin
  1975.   GetProcedureAddress(_ShowWindow, user32, 'ShowWindow');
  1976.   asm
  1977.     mov esp, ebp
  1978.     pop ebp
  1979.     jmp [_ShowWindow]
  1980.   end;
  1981. end;
  1982. {$ELSE}
  1983. function ShowWindow; external user32 name 'ShowWindow';
  1984. {$ENDIF DYNAMIC_LINK}
  1985. {$IFDEF DYNAMIC_LINK}
  1986. var
  1987.   _AnimateWindow: Pointer;
  1988. function AnimateWindow;
  1989. begin
  1990.   GetProcedureAddress(_AnimateWindow, user32, 'AnimateWindow');
  1991.   asm
  1992.     mov esp, ebp
  1993.     pop ebp
  1994.     jmp [_AnimateWindow]
  1995.   end;
  1996. end;
  1997. {$ELSE}
  1998. function AnimateWindow; external user32 name 'AnimateWindow';
  1999. {$ENDIF DYNAMIC_LINK}
  2000. {$IFDEF DYNAMIC_LINK}
  2001. var
  2002.   _UpdateLayeredWindow: Pointer;
  2003. function UpdateLayeredWindow;
  2004. begin
  2005.   GetProcedureAddress(_UpdateLayeredWindow, user32, 'UpdateLayeredWindow');
  2006.   asm
  2007.     mov esp, ebp
  2008.     pop ebp
  2009.     jmp [_UpdateLayeredWindow]
  2010.   end;
  2011. end;
  2012. {$ELSE}
  2013. function UpdateLayeredWindow; external user32 name 'UpdateLayeredWindow';
  2014. {$ENDIF DYNAMIC_LINK}
  2015. {$IFDEF DYNAMIC_LINK}
  2016. var
  2017.   _GetLayeredWindowAttributes: Pointer;
  2018. function GetLayeredWindowAttributes;
  2019. begin
  2020.   GetProcedureAddress(_GetLayeredWindowAttributes, user32, 'GetLayeredWindowAttributes');
  2021.   asm
  2022.     mov esp, ebp
  2023.     pop ebp
  2024.     jmp [_GetLayeredWindowAttributes]
  2025.   end;
  2026. end;
  2027. {$ELSE}
  2028. function GetLayeredWindowAttributes; external user32 name 'GetLayeredWindowAttributes';
  2029. {$ENDIF DYNAMIC_LINK}
  2030. {$IFDEF DYNAMIC_LINK}
  2031. var
  2032.   _PrintWindow: Pointer;
  2033. function PrintWindow;
  2034. begin
  2035.   GetProcedureAddress(_PrintWindow, user32, 'PrintWindow');
  2036.   asm
  2037.     mov esp, ebp
  2038.     pop ebp
  2039.     jmp [_PrintWindow]
  2040.   end;
  2041. end;
  2042. {$ELSE}
  2043. function PrintWindow; external user32 name 'PrintWindow';
  2044. {$ENDIF DYNAMIC_LINK}
  2045. {$IFDEF DYNAMIC_LINK}
  2046. var
  2047.   _SetLayeredWindowAttributes: Pointer;
  2048. function SetLayeredWindowAttributes;
  2049. begin
  2050.   GetProcedureAddress(_SetLayeredWindowAttributes, user32, 'SetLayeredWindowAttributes');
  2051.   asm
  2052.     mov esp, ebp
  2053.     pop ebp
  2054.     jmp [_SetLayeredWindowAttributes]
  2055.   end;
  2056. end;
  2057. {$ELSE}
  2058. function SetLayeredWindowAttributes; external user32 name 'SetLayeredWindowAttributes';
  2059. {$ENDIF DYNAMIC_LINK}
  2060. {$IFDEF DYNAMIC_LINK}
  2061. var
  2062.   _ShowWindowAsync: Pointer;
  2063. function ShowWindowAsync;
  2064. begin
  2065.   GetProcedureAddress(_ShowWindowAsync, user32, 'ShowWindowAsync');
  2066.   asm
  2067.     mov esp, ebp
  2068.     pop ebp
  2069.     jmp [_ShowWindowAsync]
  2070.   end;
  2071. end;
  2072. {$ELSE}
  2073. function ShowWindowAsync; external user32 name 'ShowWindowAsync';
  2074. {$ENDIF DYNAMIC_LINK}
  2075. {$IFDEF DYNAMIC_LINK}
  2076. var
  2077.   _FlashWindow: Pointer;
  2078. function FlashWindow;
  2079. begin
  2080.   GetProcedureAddress(_FlashWindow, user32, 'FlashWindow');
  2081.   asm
  2082.     mov esp, ebp
  2083.     pop ebp
  2084.     jmp [_FlashWindow]
  2085.   end;
  2086. end;
  2087. {$ELSE}
  2088. function FlashWindow; external user32 name 'FlashWindow';
  2089. {$ENDIF DYNAMIC_LINK}
  2090. {$IFDEF DYNAMIC_LINK}
  2091. var
  2092.   _FlashWindowEx: Pointer;
  2093. function FlashWindowEx;
  2094. begin
  2095.   GetProcedureAddress(_FlashWindowEx, user32, 'FlashWindowEx');
  2096.   asm
  2097.     mov esp, ebp
  2098.     pop ebp
  2099.     jmp [_FlashWindowEx]
  2100.   end;
  2101. end;
  2102. {$ELSE}
  2103. function FlashWindowEx; external user32 name 'FlashWindowEx';
  2104. {$ENDIF DYNAMIC_LINK}
  2105. {$IFDEF DYNAMIC_LINK}
  2106. var
  2107.   _ShowOwnedPopups: Pointer;
  2108. function ShowOwnedPopups;
  2109. begin
  2110.   GetProcedureAddress(_ShowOwnedPopups, user32, 'ShowOwnedPopups');
  2111.   asm
  2112.     mov esp, ebp
  2113.     pop ebp
  2114.     jmp [_ShowOwnedPopups]
  2115.   end;
  2116. end;
  2117. {$ELSE}
  2118. function ShowOwnedPopups; external user32 name 'ShowOwnedPopups';
  2119. {$ENDIF DYNAMIC_LINK}
  2120. {$IFDEF DYNAMIC_LINK}
  2121. var
  2122.   _OpenIcon: Pointer;
  2123. function OpenIcon;
  2124. begin
  2125.   GetProcedureAddress(_OpenIcon, user32, 'OpenIcon');
  2126.   asm
  2127.     mov esp, ebp
  2128.     pop ebp
  2129.     jmp [_OpenIcon]
  2130.   end;
  2131. end;
  2132. {$ELSE}
  2133. function OpenIcon; external user32 name 'OpenIcon';
  2134. {$ENDIF DYNAMIC_LINK}
  2135. {$IFDEF DYNAMIC_LINK}
  2136. var
  2137.   _CloseWindow: Pointer;
  2138. function CloseWindow;
  2139. begin
  2140.   GetProcedureAddress(_CloseWindow, user32, 'CloseWindow');
  2141.   asm
  2142.     mov esp, ebp
  2143.     pop ebp
  2144.     jmp [_CloseWindow]
  2145.   end;
  2146. end;
  2147. {$ELSE}
  2148. function CloseWindow; external user32 name 'CloseWindow';
  2149. {$ENDIF DYNAMIC_LINK}
  2150. {$IFDEF DYNAMIC_LINK}
  2151. var
  2152.   _MoveWindow: Pointer;
  2153. function MoveWindow;
  2154. begin
  2155.   GetProcedureAddress(_MoveWindow, user32, 'MoveWindow');
  2156.   asm
  2157.     mov esp, ebp
  2158.     pop ebp
  2159.     jmp [_MoveWindow]
  2160.   end;
  2161. end;
  2162. {$ELSE}
  2163. function MoveWindow; external user32 name 'MoveWindow';
  2164. {$ENDIF DYNAMIC_LINK}
  2165. {$IFDEF DYNAMIC_LINK}
  2166. var
  2167.   _SetWindowPos: Pointer;
  2168. function SetWindowPos;
  2169. begin
  2170.   GetProcedureAddress(_SetWindowPos, user32, 'SetWindowPos');
  2171.   asm
  2172.     mov esp, ebp
  2173.     pop ebp
  2174.     jmp [_SetWindowPos]
  2175.   end;
  2176. end;
  2177. {$ELSE}
  2178. function SetWindowPos; external user32 name 'SetWindowPos';
  2179. {$ENDIF DYNAMIC_LINK}
  2180. {$IFDEF DYNAMIC_LINK}
  2181. var
  2182.   _GetWindowPlacement: Pointer;
  2183. function GetWindowPlacement;
  2184. begin
  2185.   GetProcedureAddress(_GetWindowPlacement, user32, 'GetWindowPlacement');
  2186.   asm
  2187.     mov esp, ebp
  2188.     pop ebp
  2189.     jmp [_GetWindowPlacement]
  2190.   end;
  2191. end;
  2192. {$ELSE}
  2193. function GetWindowPlacement; external user32 name 'GetWindowPlacement';
  2194. {$ENDIF DYNAMIC_LINK}
  2195. {$IFDEF DYNAMIC_LINK}
  2196. var
  2197.   _SetWindowPlacement: Pointer;
  2198. function SetWindowPlacement;
  2199. begin
  2200.   GetProcedureAddress(_SetWindowPlacement, user32, 'SetWindowPlacement');
  2201.   asm
  2202.     mov esp, ebp
  2203.     pop ebp
  2204.     jmp [_SetWindowPlacement]
  2205.   end;
  2206. end;
  2207. {$ELSE}
  2208. function SetWindowPlacement; external user32 name 'SetWindowPlacement';
  2209. {$ENDIF DYNAMIC_LINK}
  2210. {$IFDEF DYNAMIC_LINK}
  2211. var
  2212.   _BeginDeferWindowPos: Pointer;
  2213. function BeginDeferWindowPos;
  2214. begin
  2215.   GetProcedureAddress(_BeginDeferWindowPos, user32, 'BeginDeferWindowPos');
  2216.   asm
  2217.     mov esp, ebp
  2218.     pop ebp
  2219.     jmp [_BeginDeferWindowPos]
  2220.   end;
  2221. end;
  2222. {$ELSE}
  2223. function BeginDeferWindowPos; external user32 name 'BeginDeferWindowPos';
  2224. {$ENDIF DYNAMIC_LINK}
  2225. {$IFDEF DYNAMIC_LINK}
  2226. var
  2227.   _DeferWindowPos: Pointer;
  2228. function DeferWindowPos;
  2229. begin
  2230.   GetProcedureAddress(_DeferWindowPos, user32, 'DeferWindowPos');
  2231.   asm
  2232.     mov esp, ebp
  2233.     pop ebp
  2234.     jmp [_DeferWindowPos]
  2235.   end;
  2236. end;
  2237. {$ELSE}
  2238. function DeferWindowPos; external user32 name 'DeferWindowPos';
  2239. {$ENDIF DYNAMIC_LINK}
  2240. {$IFDEF DYNAMIC_LINK}
  2241. var
  2242.   _EndDeferWindowPos: Pointer;
  2243. function EndDeferWindowPos;
  2244. begin
  2245.   GetProcedureAddress(_EndDeferWindowPos, user32, 'EndDeferWindowPos');
  2246.   asm
  2247.     mov esp, ebp
  2248.     pop ebp
  2249.     jmp [_EndDeferWindowPos]
  2250.   end;
  2251. end;
  2252. {$ELSE}
  2253. function EndDeferWindowPos; external user32 name 'EndDeferWindowPos';
  2254. {$ENDIF DYNAMIC_LINK}
  2255. {$IFDEF DYNAMIC_LINK}
  2256. var
  2257.   _IsWindowVisible: Pointer;
  2258. function IsWindowVisible;
  2259. begin
  2260.   GetProcedureAddress(_IsWindowVisible, user32, 'IsWindowVisible');
  2261.   asm
  2262.     mov esp, ebp
  2263.     pop ebp
  2264.     jmp [_IsWindowVisible]
  2265.   end;
  2266. end;
  2267. {$ELSE}
  2268. function IsWindowVisible; external user32 name 'IsWindowVisible';
  2269. {$ENDIF DYNAMIC_LINK}
  2270. {$IFDEF DYNAMIC_LINK}
  2271. var
  2272.   _IsIconic: Pointer;
  2273. function IsIconic;
  2274. begin
  2275.   GetProcedureAddress(_IsIconic, user32, 'IsIconic');
  2276.   asm
  2277.     mov esp, ebp
  2278.     pop ebp
  2279.     jmp [_IsIconic]
  2280.   end;
  2281. end;
  2282. {$ELSE}
  2283. function IsIconic; external user32 name 'IsIconic';
  2284. {$ENDIF DYNAMIC_LINK}
  2285. {$IFDEF DYNAMIC_LINK}
  2286. var
  2287.   _AnyPopup: Pointer;
  2288. function AnyPopup;
  2289. begin
  2290.   GetProcedureAddress(_AnyPopup, user32, 'AnyPopup');
  2291.   asm
  2292.     mov esp, ebp
  2293.     pop ebp
  2294.     jmp [_AnyPopup]
  2295.   end;
  2296. end;
  2297. {$ELSE}
  2298. function AnyPopup; external user32 name 'AnyPopup';
  2299. {$ENDIF DYNAMIC_LINK}
  2300. {$IFDEF DYNAMIC_LINK}
  2301. var
  2302.   _BringWindowToTop: Pointer;
  2303. function BringWindowToTop;
  2304. begin
  2305.   GetProcedureAddress(_BringWindowToTop, user32, 'BringWindowToTop');
  2306.   asm
  2307.     mov esp, ebp
  2308.     pop ebp
  2309.     jmp [_BringWindowToTop]
  2310.   end;
  2311. end;
  2312. {$ELSE}
  2313. function BringWindowToTop; external user32 name 'BringWindowToTop';
  2314. {$ENDIF DYNAMIC_LINK}
  2315. {$IFDEF DYNAMIC_LINK}
  2316. var
  2317.   _IsZoomed: Pointer;
  2318. function IsZoomed;
  2319. begin
  2320.   GetProcedureAddress(_IsZoomed, user32, 'IsZoomed');
  2321.   asm
  2322.     mov esp, ebp
  2323.     pop ebp
  2324.     jmp [_IsZoomed]
  2325.   end;
  2326. end;
  2327. {$ELSE}
  2328. function IsZoomed; external user32 name 'IsZoomed';
  2329. {$ENDIF DYNAMIC_LINK}
  2330. {$IFDEF DYNAMIC_LINK}
  2331. var
  2332.   _CreateDialogParamA: Pointer;
  2333. function CreateDialogParamA;
  2334. begin
  2335.   GetProcedureAddress(_CreateDialogParamA, user32, 'CreateDialogParamA');
  2336.   asm
  2337.     mov esp, ebp
  2338.     pop ebp
  2339.     jmp [_CreateDialogParamA]
  2340.   end;
  2341. end;
  2342. {$ELSE}
  2343. function CreateDialogParamA; external user32 name 'CreateDialogParamA';
  2344. {$ENDIF DYNAMIC_LINK}
  2345. {$IFDEF DYNAMIC_LINK}
  2346. var
  2347.   _CreateDialogParamW: Pointer;
  2348. function CreateDialogParamW;
  2349. begin
  2350.   GetProcedureAddress(_CreateDialogParamW, user32, 'CreateDialogParamW');
  2351.   asm
  2352.     mov esp, ebp
  2353.     pop ebp
  2354.     jmp [_CreateDialogParamW]
  2355.   end;
  2356. end;
  2357. {$ELSE}
  2358. function CreateDialogParamW; external user32 name 'CreateDialogParamW';
  2359. {$ENDIF DYNAMIC_LINK}
  2360. {$IFDEF UNICODE}
  2361. {$IFDEF DYNAMIC_LINK}
  2362. var
  2363.   _CreateDialogParam: Pointer;
  2364. function CreateDialogParam;
  2365. begin
  2366.   GetProcedureAddress(_CreateDialogParam, user32, 'CreateDialogParamW');
  2367.   asm
  2368.     mov esp, ebp
  2369.     pop ebp
  2370.     jmp [_CreateDialogParam]
  2371.   end;
  2372. end;
  2373. {$ELSE}
  2374. function CreateDialogParam; external user32 name 'CreateDialogParamW';
  2375. {$ENDIF DYNAMIC_LINK}
  2376. {$ELSE}
  2377. {$IFDEF DYNAMIC_LINK}
  2378. var
  2379.   _CreateDialogParam: Pointer;
  2380. function CreateDialogParam;
  2381. begin
  2382.   GetProcedureAddress(_CreateDialogParam, user32, 'CreateDialogParamA');
  2383.   asm
  2384.     mov esp, ebp
  2385.     pop ebp
  2386.     jmp [_CreateDialogParam]
  2387.   end;
  2388. end;
  2389. {$ELSE}
  2390. function CreateDialogParam; external user32 name 'CreateDialogParamA';
  2391. {$ENDIF DYNAMIC_LINK}
  2392. {$ENDIF}
  2393. {$IFDEF DYNAMIC_LINK}
  2394. var
  2395.   _CreateDialogIndirectParamA: Pointer;
  2396. function CreateDialogIndirectParamA;
  2397. begin
  2398.   GetProcedureAddress(_CreateDialogIndirectParamA, user32, 'CreateDialogIndirectParamA');
  2399.   asm
  2400.     mov esp, ebp
  2401.     pop ebp
  2402.     jmp [_CreateDialogIndirectParamA]
  2403.   end;
  2404. end;
  2405. {$ELSE}
  2406. function CreateDialogIndirectParamA; external user32 name 'CreateDialogIndirectParamA';
  2407. {$ENDIF DYNAMIC_LINK}
  2408. {$IFDEF DYNAMIC_LINK}
  2409. var
  2410.   _CreateDialogIndirectParamW: Pointer;
  2411. function CreateDialogIndirectParamW;
  2412. begin
  2413.   GetProcedureAddress(_CreateDialogIndirectParamW, user32, 'CreateDialogIndirectParamW');
  2414.   asm
  2415.     mov esp, ebp
  2416.     pop ebp
  2417.     jmp [_CreateDialogIndirectParamW]
  2418.   end;
  2419. end;
  2420. {$ELSE}
  2421. function CreateDialogIndirectParamW; external user32 name 'CreateDialogIndirectParamW';
  2422. {$ENDIF DYNAMIC_LINK}
  2423. {$IFDEF UNICODE}
  2424. {$IFDEF DYNAMIC_LINK}
  2425. var
  2426.   _CreateDialogIndirectParam: Pointer;
  2427. function CreateDialogIndirectParam;
  2428. begin
  2429.   GetProcedureAddress(_CreateDialogIndirectParam, user32, 'CreateDialogIndirectParamW');
  2430.   asm
  2431.     mov esp, ebp
  2432.     pop ebp
  2433.     jmp [_CreateDialogIndirectParam]
  2434.   end;
  2435. end;
  2436. {$ELSE}
  2437. function CreateDialogIndirectParam; external user32 name 'CreateDialogIndirectParamW';
  2438. {$ENDIF DYNAMIC_LINK}
  2439. {$ELSE}
  2440. {$IFDEF DYNAMIC_LINK}
  2441. var
  2442.   _CreateDialogIndirectParam: Pointer;
  2443. function CreateDialogIndirectParam;
  2444. begin
  2445.   GetProcedureAddress(_CreateDialogIndirectParam, user32, 'CreateDialogIndirectParamA');
  2446.   asm
  2447.     mov esp, ebp
  2448.     pop ebp
  2449.     jmp [_CreateDialogIndirectParam]
  2450.   end;
  2451. end;
  2452. {$ELSE}
  2453. function CreateDialogIndirectParam; external user32 name 'CreateDialogIndirectParamA';
  2454. {$ENDIF DYNAMIC_LINK}
  2455. {$ENDIF}
  2456. {$IFDEF DYNAMIC_LINK}
  2457. var
  2458.   _DialogBoxParamA: Pointer;
  2459. function DialogBoxParamA;
  2460. begin
  2461.   GetProcedureAddress(_DialogBoxParamA, user32, 'DialogBoxParamA');
  2462.   asm
  2463.     mov esp, ebp
  2464.     pop ebp
  2465.     jmp [_DialogBoxParamA]
  2466.   end;
  2467. end;
  2468. {$ELSE}
  2469. function DialogBoxParamA; external user32 name 'DialogBoxParamA';
  2470. {$ENDIF DYNAMIC_LINK}
  2471. {$IFDEF DYNAMIC_LINK}
  2472. var
  2473.   _DialogBoxParamW: Pointer;
  2474. function DialogBoxParamW;
  2475. begin
  2476.   GetProcedureAddress(_DialogBoxParamW, user32, 'DialogBoxParamW');
  2477.   asm
  2478.     mov esp, ebp
  2479.     pop ebp
  2480.     jmp [_DialogBoxParamW]
  2481.   end;
  2482. end;
  2483. {$ELSE}
  2484. function DialogBoxParamW; external user32 name 'DialogBoxParamW';
  2485. {$ENDIF DYNAMIC_LINK}
  2486. {$IFDEF UNICODE}
  2487. {$IFDEF DYNAMIC_LINK}
  2488. var
  2489.   _DialogBoxParam: Pointer;
  2490. function DialogBoxParam;
  2491. begin
  2492.   GetProcedureAddress(_DialogBoxParam, user32, 'DialogBoxParamW');
  2493.   asm
  2494.     mov esp, ebp
  2495.     pop ebp
  2496.     jmp [_DialogBoxParam]
  2497.   end;
  2498. end;
  2499. {$ELSE}
  2500. function DialogBoxParam; external user32 name 'DialogBoxParamW';
  2501. {$ENDIF DYNAMIC_LINK}
  2502. {$ELSE}
  2503. {$IFDEF DYNAMIC_LINK}
  2504. var
  2505.   _DialogBoxParam: Pointer;
  2506. function DialogBoxParam;
  2507. begin
  2508.   GetProcedureAddress(_DialogBoxParam, user32, 'DialogBoxParamA');
  2509.   asm
  2510.     mov esp, ebp
  2511.     pop ebp
  2512.     jmp [_DialogBoxParam]
  2513.   end;
  2514. end;
  2515. {$ELSE}
  2516. function DialogBoxParam; external user32 name 'DialogBoxParamA';
  2517. {$ENDIF DYNAMIC_LINK}
  2518. {$ENDIF}
  2519. {$IFDEF DYNAMIC_LINK}
  2520. var
  2521.   _DialogBoxIndirectParamA: Pointer;
  2522. function DialogBoxIndirectParamA;
  2523. begin
  2524.   GetProcedureAddress(_DialogBoxIndirectParamA, user32, 'DialogBoxIndirectParamA');
  2525.   asm
  2526.     mov esp, ebp
  2527.     pop ebp
  2528.     jmp [_DialogBoxIndirectParamA]
  2529.   end;
  2530. end;
  2531. {$ELSE}
  2532. function DialogBoxIndirectParamA; external user32 name 'DialogBoxIndirectParamA';
  2533. {$ENDIF DYNAMIC_LINK}
  2534. {$IFDEF DYNAMIC_LINK}
  2535. var
  2536.   _DialogBoxIndirectParamW: Pointer;
  2537. function DialogBoxIndirectParamW;
  2538. begin
  2539.   GetProcedureAddress(_DialogBoxIndirectParamW, user32, 'DialogBoxIndirectParamW');
  2540.   asm
  2541.     mov esp, ebp
  2542.     pop ebp
  2543.     jmp [_DialogBoxIndirectParamW]
  2544.   end;
  2545. end;
  2546. {$ELSE}
  2547. function DialogBoxIndirectParamW; external user32 name 'DialogBoxIndirectParamW';
  2548. {$ENDIF DYNAMIC_LINK}
  2549. {$IFDEF UNICODE}
  2550. {$IFDEF DYNAMIC_LINK}
  2551. var
  2552.   _DialogBoxIndirectParam: Pointer;
  2553. function DialogBoxIndirectParam;
  2554. begin
  2555.   GetProcedureAddress(_DialogBoxIndirectParam, user32, 'DialogBoxIndirectParamW');
  2556.   asm
  2557.     mov esp, ebp
  2558.     pop ebp
  2559.     jmp [_DialogBoxIndirectParam]
  2560.   end;
  2561. end;
  2562. {$ELSE}
  2563. function DialogBoxIndirectParam; external user32 name 'DialogBoxIndirectParamW';
  2564. {$ENDIF DYNAMIC_LINK}
  2565. {$ELSE}
  2566. {$IFDEF DYNAMIC_LINK}
  2567. var
  2568.   _DialogBoxIndirectParam: Pointer;
  2569. function DialogBoxIndirectParam;
  2570. begin
  2571.   GetProcedureAddress(_DialogBoxIndirectParam, user32, 'DialogBoxIndirectParamA');
  2572.   asm
  2573.     mov esp, ebp
  2574.     pop ebp
  2575.     jmp [_DialogBoxIndirectParam]
  2576.   end;
  2577. end;
  2578. {$ELSE}
  2579. function DialogBoxIndirectParam; external user32 name 'DialogBoxIndirectParamA';
  2580. {$ENDIF DYNAMIC_LINK}
  2581. {$ENDIF}
  2582. {$IFDEF DYNAMIC_LINK}
  2583. var
  2584.   _EndDialog: Pointer;
  2585. function EndDialog;
  2586. begin
  2587.   GetProcedureAddress(_EndDialog, user32, 'EndDialog');
  2588.   asm
  2589.     mov esp, ebp
  2590.     pop ebp
  2591.     jmp [_EndDialog]
  2592.   end;
  2593. end;
  2594. {$ELSE}
  2595. function EndDialog; external user32 name 'EndDialog';
  2596. {$ENDIF DYNAMIC_LINK}
  2597. {$IFDEF DYNAMIC_LINK}
  2598. var
  2599.   _GetDlgItem: Pointer;
  2600. function GetDlgItem;
  2601. begin
  2602.   GetProcedureAddress(_GetDlgItem, user32, 'GetDlgItem');
  2603.   asm
  2604.     mov esp, ebp
  2605.     pop ebp
  2606.     jmp [_GetDlgItem]
  2607.   end;
  2608. end;
  2609. {$ELSE}
  2610. function GetDlgItem; external user32 name 'GetDlgItem';
  2611. {$ENDIF DYNAMIC_LINK}
  2612. {$IFDEF DYNAMIC_LINK}
  2613. var
  2614.   _SetDlgItemInt: Pointer;
  2615. function SetDlgItemInt;
  2616. begin
  2617.   GetProcedureAddress(_SetDlgItemInt, user32, 'SetDlgItemInt');
  2618.   asm
  2619.     mov esp, ebp
  2620.     pop ebp
  2621.     jmp [_SetDlgItemInt]
  2622.   end;
  2623. end;
  2624. {$ELSE}
  2625. function SetDlgItemInt; external user32 name 'SetDlgItemInt';
  2626. {$ENDIF DYNAMIC_LINK}
  2627. {$IFDEF DYNAMIC_LINK}
  2628. var
  2629.   _GetDlgItemInt: Pointer;
  2630. function GetDlgItemInt;
  2631. begin
  2632.   GetProcedureAddress(_GetDlgItemInt, user32, 'GetDlgItemInt');
  2633.   asm
  2634.     mov esp, ebp
  2635.     pop ebp
  2636.     jmp [_GetDlgItemInt]
  2637.   end;
  2638. end;
  2639. {$ELSE}
  2640. function GetDlgItemInt; external user32 name 'GetDlgItemInt';
  2641. {$ENDIF DYNAMIC_LINK}
  2642. {$IFDEF DYNAMIC_LINK}
  2643. var
  2644.   _SetDlgItemTextA: Pointer;
  2645. function SetDlgItemTextA;
  2646. begin
  2647.   GetProcedureAddress(_SetDlgItemTextA, user32, 'SetDlgItemTextA');
  2648.   asm
  2649.     mov esp, ebp
  2650.     pop ebp
  2651.     jmp [_SetDlgItemTextA]
  2652.   end;
  2653. end;
  2654. {$ELSE}
  2655. function SetDlgItemTextA; external user32 name 'SetDlgItemTextA';
  2656. {$ENDIF DYNAMIC_LINK}
  2657. {$IFDEF DYNAMIC_LINK}
  2658. var
  2659.   _SetDlgItemTextW: Pointer;
  2660. function SetDlgItemTextW;
  2661. begin
  2662.   GetProcedureAddress(_SetDlgItemTextW, user32, 'SetDlgItemTextW');
  2663.   asm
  2664.     mov esp, ebp
  2665.     pop ebp
  2666.     jmp [_SetDlgItemTextW]
  2667.   end;
  2668. end;
  2669. {$ELSE}
  2670. function SetDlgItemTextW; external user32 name 'SetDlgItemTextW';
  2671. {$ENDIF DYNAMIC_LINK}
  2672. {$IFDEF UNICODE}
  2673. {$IFDEF DYNAMIC_LINK}
  2674. var
  2675.   _SetDlgItemText: Pointer;
  2676. function SetDlgItemText;
  2677. begin
  2678.   GetProcedureAddress(_SetDlgItemText, user32, 'SetDlgItemTextW');
  2679.   asm
  2680.     mov esp, ebp
  2681.     pop ebp
  2682.     jmp [_SetDlgItemText]
  2683.   end;
  2684. end;
  2685. {$ELSE}
  2686. function SetDlgItemText; external user32 name 'SetDlgItemTextW';
  2687. {$ENDIF DYNAMIC_LINK}
  2688. {$ELSE}
  2689. {$IFDEF DYNAMIC_LINK}
  2690. var
  2691.   _SetDlgItemText: Pointer;
  2692. function SetDlgItemText;
  2693. begin
  2694.   GetProcedureAddress(_SetDlgItemText, user32, 'SetDlgItemTextA');
  2695.   asm
  2696.     mov esp, ebp
  2697.     pop ebp
  2698.     jmp [_SetDlgItemText]
  2699.   end;
  2700. end;
  2701. {$ELSE}
  2702. function SetDlgItemText; external user32 name 'SetDlgItemTextA';
  2703. {$ENDIF DYNAMIC_LINK}
  2704. {$ENDIF}
  2705. {$IFDEF DYNAMIC_LINK}
  2706. var
  2707.   _GetDlgItemTextA: Pointer;
  2708. function GetDlgItemTextA;
  2709. begin
  2710.   GetProcedureAddress(_GetDlgItemTextA, user32, 'GetDlgItemTextA');
  2711.   asm
  2712.     mov esp, ebp
  2713.     pop ebp
  2714.     jmp [_GetDlgItemTextA]
  2715.   end;
  2716. end;
  2717. {$ELSE}
  2718. function GetDlgItemTextA; external user32 name 'GetDlgItemTextA';
  2719. {$ENDIF DYNAMIC_LINK}
  2720. {$IFDEF DYNAMIC_LINK}
  2721. var
  2722.   _GetDlgItemTextW: Pointer;
  2723. function GetDlgItemTextW;
  2724. begin
  2725.   GetProcedureAddress(_GetDlgItemTextW, user32, 'GetDlgItemTextW');
  2726.   asm
  2727.     mov esp, ebp
  2728.     pop ebp
  2729.     jmp [_GetDlgItemTextW]
  2730.   end;
  2731. end;
  2732. {$ELSE}
  2733. function GetDlgItemTextW; external user32 name 'GetDlgItemTextW';
  2734. {$ENDIF DYNAMIC_LINK}
  2735. {$IFDEF UNICODE}
  2736. {$IFDEF DYNAMIC_LINK}
  2737. var
  2738.   _GetDlgItemText: Pointer;
  2739. function GetDlgItemText;
  2740. begin
  2741.   GetProcedureAddress(_GetDlgItemText, user32, 'GetDlgItemTextW');
  2742.   asm
  2743.     mov esp, ebp
  2744.     pop ebp
  2745.     jmp [_GetDlgItemText]
  2746.   end;
  2747. end;
  2748. {$ELSE}
  2749. function GetDlgItemText; external user32 name 'GetDlgItemTextW';
  2750. {$ENDIF DYNAMIC_LINK}
  2751. {$ELSE}
  2752. {$IFDEF DYNAMIC_LINK}
  2753. var
  2754.   _GetDlgItemText: Pointer;
  2755. function GetDlgItemText;
  2756. begin
  2757.   GetProcedureAddress(_GetDlgItemText, user32, 'GetDlgItemTextA');
  2758.   asm
  2759.     mov esp, ebp
  2760.     pop ebp
  2761.     jmp [_GetDlgItemText]
  2762.   end;
  2763. end;
  2764. {$ELSE}
  2765. function GetDlgItemText; external user32 name 'GetDlgItemTextA';
  2766. {$ENDIF DYNAMIC_LINK}
  2767. {$ENDIF}
  2768. {$IFDEF DYNAMIC_LINK}
  2769. var
  2770.   _CheckDlgButton: Pointer;
  2771. function CheckDlgButton;
  2772. begin
  2773.   GetProcedureAddress(_CheckDlgButton, user32, 'CheckDlgButton');
  2774.   asm
  2775.     mov esp, ebp
  2776.     pop ebp
  2777.     jmp [_CheckDlgButton]
  2778.   end;
  2779. end;
  2780. {$ELSE}
  2781. function CheckDlgButton; external user32 name 'CheckDlgButton';
  2782. {$ENDIF DYNAMIC_LINK}
  2783. {$IFDEF DYNAMIC_LINK}
  2784. var
  2785.   _CheckRadioButton: Pointer;
  2786. function CheckRadioButton;
  2787. begin
  2788.   GetProcedureAddress(_CheckRadioButton, user32, 'CheckRadioButton');
  2789.   asm
  2790.     mov esp, ebp
  2791.     pop ebp
  2792.     jmp [_CheckRadioButton]
  2793.   end;
  2794. end;
  2795. {$ELSE}
  2796. function CheckRadioButton; external user32 name 'CheckRadioButton';
  2797. {$ENDIF DYNAMIC_LINK}
  2798. {$IFDEF DYNAMIC_LINK}
  2799. var
  2800.   _IsDlgButtonChecked: Pointer;
  2801. function IsDlgButtonChecked;
  2802. begin
  2803.   GetProcedureAddress(_IsDlgButtonChecked, user32, 'IsDlgButtonChecked');
  2804.   asm
  2805.     mov esp, ebp
  2806.     pop ebp
  2807.     jmp [_IsDlgButtonChecked]
  2808.   end;
  2809. end;
  2810. {$ELSE}
  2811. function IsDlgButtonChecked; external user32 name 'IsDlgButtonChecked';
  2812. {$ENDIF DYNAMIC_LINK}
  2813. {$IFDEF DYNAMIC_LINK}
  2814. var
  2815.   _SendDlgItemMessageA: Pointer;
  2816. function SendDlgItemMessageA;
  2817. begin
  2818.   GetProcedureAddress(_SendDlgItemMessageA, user32, 'SendDlgItemMessageA');
  2819.   asm
  2820.     mov esp, ebp
  2821.     pop ebp
  2822.     jmp [_SendDlgItemMessageA]
  2823.   end;
  2824. end;
  2825. {$ELSE}
  2826. function SendDlgItemMessageA; external user32 name 'SendDlgItemMessageA';
  2827. {$ENDIF DYNAMIC_LINK}
  2828. {$IFDEF DYNAMIC_LINK}
  2829. var
  2830.   _SendDlgItemMessageW: Pointer;
  2831. function SendDlgItemMessageW;
  2832. begin
  2833.   GetProcedureAddress(_SendDlgItemMessageW, user32, 'SendDlgItemMessageW');
  2834.   asm
  2835.     mov esp, ebp
  2836.     pop ebp
  2837.     jmp [_SendDlgItemMessageW]
  2838.   end;
  2839. end;
  2840. {$ELSE}
  2841. function SendDlgItemMessageW; external user32 name 'SendDlgItemMessageW';
  2842. {$ENDIF DYNAMIC_LINK}
  2843. {$IFDEF UNICODE}
  2844. {$IFDEF DYNAMIC_LINK}
  2845. var
  2846.   _SendDlgItemMessage: Pointer;
  2847. function SendDlgItemMessage;
  2848. begin
  2849.   GetProcedureAddress(_SendDlgItemMessage, user32, 'SendDlgItemMessageW');
  2850.   asm
  2851.     mov esp, ebp
  2852.     pop ebp
  2853.     jmp [_SendDlgItemMessage]
  2854.   end;
  2855. end;
  2856. {$ELSE}
  2857. function SendDlgItemMessage; external user32 name 'SendDlgItemMessageW';
  2858. {$ENDIF DYNAMIC_LINK}
  2859. {$ELSE}
  2860. {$IFDEF DYNAMIC_LINK}
  2861. var
  2862.   _SendDlgItemMessage: Pointer;
  2863. function SendDlgItemMessage;
  2864. begin
  2865.   GetProcedureAddress(_SendDlgItemMessage, user32, 'SendDlgItemMessageA');
  2866.   asm
  2867.     mov esp, ebp
  2868.     pop ebp
  2869.     jmp [_SendDlgItemMessage]
  2870.   end;
  2871. end;
  2872. {$ELSE}
  2873. function SendDlgItemMessage; external user32 name 'SendDlgItemMessageA';
  2874. {$ENDIF DYNAMIC_LINK}
  2875. {$ENDIF}
  2876. {$IFDEF DYNAMIC_LINK}
  2877. var
  2878.   _GetNextDlgGroupItem: Pointer;
  2879. function GetNextDlgGroupItem;
  2880. begin
  2881.   GetProcedureAddress(_GetNextDlgGroupItem, user32, 'GetNextDlgGroupItem');
  2882.   asm
  2883.     mov esp, ebp
  2884.     pop ebp
  2885.     jmp [_GetNextDlgGroupItem]
  2886.   end;
  2887. end;
  2888. {$ELSE}
  2889. function GetNextDlgGroupItem; external user32 name 'GetNextDlgGroupItem';
  2890. {$ENDIF DYNAMIC_LINK}
  2891. {$IFDEF DYNAMIC_LINK}
  2892. var
  2893.   _GetNextDlgTabItem: Pointer;
  2894. function GetNextDlgTabItem;
  2895. begin
  2896.   GetProcedureAddress(_GetNextDlgTabItem, user32, 'GetNextDlgTabItem');
  2897.   asm
  2898.     mov esp, ebp
  2899.     pop ebp
  2900.     jmp [_GetNextDlgTabItem]
  2901.   end;
  2902. end;
  2903. {$ELSE}
  2904. function GetNextDlgTabItem; external user32 name 'GetNextDlgTabItem';
  2905. {$ENDIF DYNAMIC_LINK}
  2906. {$IFDEF DYNAMIC_LINK}
  2907. var
  2908.   _GetDlgCtrlID: Pointer;
  2909. function GetDlgCtrlID;
  2910. begin
  2911.   GetProcedureAddress(_GetDlgCtrlID, user32, 'GetDlgCtrlID');
  2912.   asm
  2913.     mov esp, ebp
  2914.     pop ebp
  2915.     jmp [_GetDlgCtrlID]
  2916.   end;
  2917. end;
  2918. {$ELSE}
  2919. function GetDlgCtrlID; external user32 name 'GetDlgCtrlID';
  2920. {$ENDIF DYNAMIC_LINK}
  2921. {$IFDEF DYNAMIC_LINK}
  2922. var
  2923.   _GetDialogBaseUnits: Pointer;
  2924. function GetDialogBaseUnits;
  2925. begin
  2926.   GetProcedureAddress(_GetDialogBaseUnits, user32, 'GetDialogBaseUnits');
  2927.   asm
  2928.     mov esp, ebp
  2929.     pop ebp
  2930.     jmp [_GetDialogBaseUnits]
  2931.   end;
  2932. end;
  2933. {$ELSE}
  2934. function GetDialogBaseUnits; external user32 name 'GetDialogBaseUnits';
  2935. {$ENDIF DYNAMIC_LINK}
  2936. {$IFDEF DYNAMIC_LINK}
  2937. var
  2938.   _DefDlgProcA: Pointer;
  2939. function DefDlgProcA;
  2940. begin
  2941.   GetProcedureAddress(_DefDlgProcA, user32, 'DefDlgProcA');
  2942.   asm
  2943.     mov esp, ebp
  2944.     pop ebp
  2945.     jmp [_DefDlgProcA]
  2946.   end;
  2947. end;
  2948. {$ELSE}
  2949. function DefDlgProcA; external user32 name 'DefDlgProcA';
  2950. {$ENDIF DYNAMIC_LINK}
  2951. {$IFDEF DYNAMIC_LINK}
  2952. var
  2953.   _DefDlgProcW: Pointer;
  2954. function DefDlgProcW;
  2955. begin
  2956.   GetProcedureAddress(_DefDlgProcW, user32, 'DefDlgProcW');
  2957.   asm
  2958.     mov esp, ebp
  2959.     pop ebp
  2960.     jmp [_DefDlgProcW]
  2961.   end;
  2962. end;
  2963. {$ELSE}
  2964. function DefDlgProcW; external user32 name 'DefDlgProcW';
  2965. {$ENDIF DYNAMIC_LINK}
  2966. {$IFDEF UNICODE}
  2967. {$IFDEF DYNAMIC_LINK}
  2968. var
  2969.   _DefDlgProc: Pointer;
  2970. function DefDlgProc;
  2971. begin
  2972.   GetProcedureAddress(_DefDlgProc, user32, 'DefDlgProcW');
  2973.   asm
  2974.     mov esp, ebp
  2975.     pop ebp
  2976.     jmp [_DefDlgProc]
  2977.   end;
  2978. end;
  2979. {$ELSE}
  2980. function DefDlgProc; external user32 name 'DefDlgProcW';
  2981. {$ENDIF DYNAMIC_LINK}
  2982. {$ELSE}
  2983. {$IFDEF DYNAMIC_LINK}
  2984. var
  2985.   _DefDlgProc: Pointer;
  2986. function DefDlgProc;
  2987. begin
  2988.   GetProcedureAddress(_DefDlgProc, user32, 'DefDlgProcA');
  2989.   asm
  2990.     mov esp, ebp
  2991.     pop ebp
  2992.     jmp [_DefDlgProc]
  2993.   end;
  2994. end;
  2995. {$ELSE}
  2996. function DefDlgProc; external user32 name 'DefDlgProcA';
  2997. {$ENDIF DYNAMIC_LINK}
  2998. {$ENDIF}
  2999. {$IFDEF DYNAMIC_LINK}
  3000. var
  3001.   _CallMsgFilterA: Pointer;
  3002. function CallMsgFilterA;
  3003. begin
  3004.   GetProcedureAddress(_CallMsgFilterA, user32, 'CallMsgFilterA');
  3005.   asm
  3006.     mov esp, ebp
  3007.     pop ebp
  3008.     jmp [_CallMsgFilterA]
  3009.   end;
  3010. end;
  3011. {$ELSE}
  3012. function CallMsgFilterA; external user32 name 'CallMsgFilterA';
  3013. {$ENDIF DYNAMIC_LINK}
  3014. {$IFDEF DYNAMIC_LINK}
  3015. var
  3016.   _CallMsgFilterW: Pointer;
  3017. function CallMsgFilterW;
  3018. begin
  3019.   GetProcedureAddress(_CallMsgFilterW, user32, 'CallMsgFilterW');
  3020.   asm
  3021.     mov esp, ebp
  3022.     pop ebp
  3023.     jmp [_CallMsgFilterW]
  3024.   end;
  3025. end;
  3026. {$ELSE}
  3027. function CallMsgFilterW; external user32 name 'CallMsgFilterW';
  3028. {$ENDIF DYNAMIC_LINK}
  3029. {$IFDEF UNICODE}
  3030. {$IFDEF DYNAMIC_LINK}
  3031. var
  3032.   _CallMsgFilter: Pointer;
  3033. function CallMsgFilter;
  3034. begin
  3035.   GetProcedureAddress(_CallMsgFilter, user32, 'CallMsgFilterW');
  3036.   asm
  3037.     mov esp, ebp
  3038.     pop ebp
  3039.     jmp [_CallMsgFilter]
  3040.   end;
  3041. end;
  3042. {$ELSE}
  3043. function CallMsgFilter; external user32 name 'CallMsgFilterW';
  3044. {$ENDIF DYNAMIC_LINK}
  3045. {$ELSE}
  3046. {$IFDEF DYNAMIC_LINK}
  3047. var
  3048.   _CallMsgFilter: Pointer;
  3049. function CallMsgFilter;
  3050. begin
  3051.   GetProcedureAddress(_CallMsgFilter, user32, 'CallMsgFilterA');
  3052.   asm
  3053.     mov esp, ebp
  3054.     pop ebp
  3055.     jmp [_CallMsgFilter]
  3056.   end;
  3057. end;
  3058. {$ELSE}
  3059. function CallMsgFilter; external user32 name 'CallMsgFilterA';
  3060. {$ENDIF DYNAMIC_LINK}
  3061. {$ENDIF}
  3062. {$IFDEF DYNAMIC_LINK}
  3063. var
  3064.   _OpenClipboard: Pointer;
  3065. function OpenClipboard;
  3066. begin
  3067.   GetProcedureAddress(_OpenClipboard, user32, 'OpenClipboard');
  3068.   asm
  3069.     mov esp, ebp
  3070.     pop ebp
  3071.     jmp [_OpenClipboard]
  3072.   end;
  3073. end;
  3074. {$ELSE}
  3075. function OpenClipboard; external user32 name 'OpenClipboard';
  3076. {$ENDIF DYNAMIC_LINK}
  3077. {$IFDEF DYNAMIC_LINK}
  3078. var
  3079.   _CloseClipboard: Pointer;
  3080. function CloseClipboard;
  3081. begin
  3082.   GetProcedureAddress(_CloseClipboard, user32, 'CloseClipboard');
  3083.   asm
  3084.     mov esp, ebp
  3085.     pop ebp
  3086.     jmp [_CloseClipboard]
  3087.   end;
  3088. end;
  3089. {$ELSE}
  3090. function CloseClipboard; external user32 name 'CloseClipboard';
  3091. {$ENDIF DYNAMIC_LINK}
  3092. {$IFDEF DYNAMIC_LINK}
  3093. var
  3094.   _GetClipboardSequenceNumber: Pointer;
  3095. function GetClipboardSequenceNumber;
  3096. begin
  3097.   GetProcedureAddress(_GetClipboardSequenceNumber, user32, 'GetClipboardSequenceNumber');
  3098.   asm
  3099.     mov esp, ebp
  3100.     pop ebp
  3101.     jmp [_GetClipboardSequenceNumber]
  3102.   end;
  3103. end;
  3104. {$ELSE}
  3105. function GetClipboardSequenceNumber; external user32 name 'GetClipboardSequenceNumber';
  3106. {$ENDIF DYNAMIC_LINK}
  3107. {$IFDEF DYNAMIC_LINK}
  3108. var
  3109.   _GetClipboardOwner: Pointer;
  3110. function GetClipboardOwner;
  3111. begin
  3112.   GetProcedureAddress(_GetClipboardOwner, user32, 'GetClipboardOwner');
  3113.   asm
  3114.     mov esp, ebp
  3115.     pop ebp
  3116.     jmp [_GetClipboardOwner]
  3117.   end;
  3118. end;
  3119. {$ELSE}
  3120. function GetClipboardOwner; external user32 name 'GetClipboardOwner';
  3121. {$ENDIF DYNAMIC_LINK}
  3122. {$IFDEF DYNAMIC_LINK}
  3123. var
  3124.   _SetClipboardViewer: Pointer;
  3125. function SetClipboardViewer;
  3126. begin
  3127.   GetProcedureAddress(_SetClipboardViewer, user32, 'SetClipboardViewer');
  3128.   asm
  3129.     mov esp, ebp
  3130.     pop ebp
  3131.     jmp [_SetClipboardViewer]
  3132.   end;
  3133. end;
  3134. {$ELSE}
  3135. function SetClipboardViewer; external user32 name 'SetClipboardViewer';
  3136. {$ENDIF DYNAMIC_LINK}
  3137. {$IFDEF DYNAMIC_LINK}
  3138. var
  3139.   _GetClipboardViewer: Pointer;
  3140. function GetClipboardViewer;
  3141. begin
  3142.   GetProcedureAddress(_GetClipboardViewer, user32, 'GetClipboardViewer');
  3143.   asm
  3144.     mov esp, ebp
  3145.     pop ebp
  3146.     jmp [_GetClipboardViewer]
  3147.   end;
  3148. end;
  3149. {$ELSE}
  3150. function GetClipboardViewer; external user32 name 'GetClipboardViewer';
  3151. {$ENDIF DYNAMIC_LINK}
  3152. {$IFDEF DYNAMIC_LINK}
  3153. var
  3154.   _ChangeClipboardChain: Pointer;
  3155. function ChangeClipboardChain;
  3156. begin
  3157.   GetProcedureAddress(_ChangeClipboardChain, user32, 'ChangeClipboardChain');
  3158.   asm
  3159.     mov esp, ebp
  3160.     pop ebp
  3161.     jmp [_ChangeClipboardChain]
  3162.   end;
  3163. end;
  3164. {$ELSE}
  3165. function ChangeClipboardChain; external user32 name 'ChangeClipboardChain';
  3166. {$ENDIF DYNAMIC_LINK}
  3167. {$IFDEF DYNAMIC_LINK}
  3168. var
  3169.   _SetClipboardData: Pointer;
  3170. function SetClipboardData;
  3171. begin
  3172.   GetProcedureAddress(_SetClipboardData, user32, 'SetClipboardData');
  3173.   asm
  3174.     mov esp, ebp
  3175.     pop ebp
  3176.     jmp [_SetClipboardData]
  3177.   end;
  3178. end;
  3179. {$ELSE}
  3180. function SetClipboardData; external user32 name 'SetClipboardData';
  3181. {$ENDIF DYNAMIC_LINK}
  3182. {$IFDEF DYNAMIC_LINK}
  3183. var
  3184.   _GetClipboardData: Pointer;
  3185. function GetClipboardData;
  3186. begin
  3187.   GetProcedureAddress(_GetClipboardData, user32, 'GetClipboardData');
  3188.   asm
  3189.     mov esp, ebp
  3190.     pop ebp
  3191.     jmp [_GetClipboardData]
  3192.   end;
  3193. end;
  3194. {$ELSE}
  3195. function GetClipboardData; external user32 name 'GetClipboardData';
  3196. {$ENDIF DYNAMIC_LINK}
  3197. {$IFDEF DYNAMIC_LINK}
  3198. var
  3199.   _RegisterClipboardFormatA: Pointer;
  3200. function RegisterClipboardFormatA;
  3201. begin
  3202.   GetProcedureAddress(_RegisterClipboardFormatA, user32, 'RegisterClipboardFormatA');
  3203.   asm
  3204.     mov esp, ebp
  3205.     pop ebp
  3206.     jmp [_RegisterClipboardFormatA]
  3207.   end;
  3208. end;
  3209. {$ELSE}
  3210. function RegisterClipboardFormatA; external user32 name 'RegisterClipboardFormatA';
  3211. {$ENDIF DYNAMIC_LINK}
  3212. {$IFDEF DYNAMIC_LINK}
  3213. var
  3214.   _RegisterClipboardFormatW: Pointer;
  3215. function RegisterClipboardFormatW;
  3216. begin
  3217.   GetProcedureAddress(_RegisterClipboardFormatW, user32, 'RegisterClipboardFormatW');
  3218.   asm
  3219.     mov esp, ebp
  3220.     pop ebp
  3221.     jmp [_RegisterClipboardFormatW]
  3222.   end;
  3223. end;
  3224. {$ELSE}
  3225. function RegisterClipboardFormatW; external user32 name 'RegisterClipboardFormatW';
  3226. {$ENDIF DYNAMIC_LINK}
  3227. {$IFDEF UNICODE}
  3228. {$IFDEF DYNAMIC_LINK}
  3229. var
  3230.   _RegisterClipboardFormat: Pointer;
  3231. function RegisterClipboardFormat;
  3232. begin
  3233.   GetProcedureAddress(_RegisterClipboardFormat, user32, 'RegisterClipboardFormatW');
  3234.   asm
  3235.     mov esp, ebp
  3236.     pop ebp
  3237.     jmp [_RegisterClipboardFormat]
  3238.   end;
  3239. end;
  3240. {$ELSE}
  3241. function RegisterClipboardFormat; external user32 name 'RegisterClipboardFormatW';
  3242. {$ENDIF DYNAMIC_LINK}
  3243. {$ELSE}
  3244. {$IFDEF DYNAMIC_LINK}
  3245. var
  3246.   _RegisterClipboardFormat: Pointer;
  3247. function RegisterClipboardFormat;
  3248. begin
  3249.   GetProcedureAddress(_RegisterClipboardFormat, user32, 'RegisterClipboardFormatA');
  3250.   asm
  3251.     mov esp, ebp
  3252.     pop ebp
  3253.     jmp [_RegisterClipboardFormat]
  3254.   end;
  3255. end;
  3256. {$ELSE}
  3257. function RegisterClipboardFormat; external user32 name 'RegisterClipboardFormatA';
  3258. {$ENDIF DYNAMIC_LINK}
  3259. {$ENDIF}
  3260. {$IFDEF DYNAMIC_LINK}
  3261. var
  3262.   _CountClipboardFormats: Pointer;
  3263. function CountClipboardFormats;
  3264. begin
  3265.   GetProcedureAddress(_CountClipboardFormats, user32, 'CountClipboardFormats');
  3266.   asm
  3267.     mov esp, ebp
  3268.     pop ebp
  3269.     jmp [_CountClipboardFormats]
  3270.   end;
  3271. end;
  3272. {$ELSE}
  3273. function CountClipboardFormats; external user32 name 'CountClipboardFormats';
  3274. {$ENDIF DYNAMIC_LINK}
  3275. {$IFDEF DYNAMIC_LINK}
  3276. var
  3277.   _EnumClipboardFormats: Pointer;
  3278. function EnumClipboardFormats;
  3279. begin
  3280.   GetProcedureAddress(_EnumClipboardFormats, user32, 'EnumClipboardFormats');
  3281.   asm
  3282.     mov esp, ebp
  3283.     pop ebp
  3284.     jmp [_EnumClipboardFormats]
  3285.   end;
  3286. end;
  3287. {$ELSE}
  3288. function EnumClipboardFormats; external user32 name 'EnumClipboardFormats';
  3289. {$ENDIF DYNAMIC_LINK}
  3290. {$IFDEF DYNAMIC_LINK}
  3291. var
  3292.   _GetClipboardFormatNameA: Pointer;
  3293. function GetClipboardFormatNameA;
  3294. begin
  3295.   GetProcedureAddress(_GetClipboardFormatNameA, user32, 'GetClipboardFormatNameA');
  3296.   asm
  3297.     mov esp, ebp
  3298.     pop ebp
  3299.     jmp [_GetClipboardFormatNameA]
  3300.   end;
  3301. end;
  3302. {$ELSE}
  3303. function GetClipboardFormatNameA; external user32 name 'GetClipboardFormatNameA';
  3304. {$ENDIF DYNAMIC_LINK}
  3305. {$IFDEF DYNAMIC_LINK}
  3306. var
  3307.   _GetClipboardFormatNameW: Pointer;
  3308. function GetClipboardFormatNameW;
  3309. begin
  3310.   GetProcedureAddress(_GetClipboardFormatNameW, user32, 'GetClipboardFormatNameW');
  3311.   asm
  3312.     mov esp, ebp
  3313.     pop ebp
  3314.     jmp [_GetClipboardFormatNameW]
  3315.   end;
  3316. end;
  3317. {$ELSE}
  3318. function GetClipboardFormatNameW; external user32 name 'GetClipboardFormatNameW';
  3319. {$ENDIF DYNAMIC_LINK}
  3320. {$IFDEF UNICODE}
  3321. {$IFDEF DYNAMIC_LINK}
  3322. var
  3323.   _GetClipboardFormatName: Pointer;
  3324. function GetClipboardFormatName;
  3325. begin
  3326.   GetProcedureAddress(_GetClipboardFormatName, user32, 'GetClipboardFormatNameW');
  3327.   asm
  3328.     mov esp, ebp
  3329.     pop ebp
  3330.     jmp [_GetClipboardFormatName]
  3331.   end;
  3332. end;
  3333. {$ELSE}
  3334. function GetClipboardFormatName; external user32 name 'GetClipboardFormatNameW';
  3335. {$ENDIF DYNAMIC_LINK}
  3336. {$ELSE}
  3337. {$IFDEF DYNAMIC_LINK}
  3338. var
  3339.   _GetClipboardFormatName: Pointer;
  3340. function GetClipboardFormatName;
  3341. begin
  3342.   GetProcedureAddress(_GetClipboardFormatName, user32, 'GetClipboardFormatNameA');
  3343.   asm
  3344.     mov esp, ebp
  3345.     pop ebp
  3346.     jmp [_GetClipboardFormatName]
  3347.   end;
  3348. end;
  3349. {$ELSE}
  3350. function GetClipboardFormatName; external user32 name 'GetClipboardFormatNameA';
  3351. {$ENDIF DYNAMIC_LINK}
  3352. {$ENDIF}
  3353. {$IFDEF DYNAMIC_LINK}
  3354. var
  3355.   _EmptyClipboard: Pointer;
  3356. function EmptyClipboard;
  3357. begin
  3358.   GetProcedureAddress(_EmptyClipboard, user32, 'EmptyClipboard');
  3359.   asm
  3360.     mov esp, ebp
  3361.     pop ebp
  3362.     jmp [_EmptyClipboard]
  3363.   end;
  3364. end;
  3365. {$ELSE}
  3366. function EmptyClipboard; external user32 name 'EmptyClipboard';
  3367. {$ENDIF DYNAMIC_LINK}
  3368. {$IFDEF DYNAMIC_LINK}
  3369. var
  3370.   _IsClipboardFormatAvailable: Pointer;
  3371. function IsClipboardFormatAvailable;
  3372. begin
  3373.   GetProcedureAddress(_IsClipboardFormatAvailable, user32, 'IsClipboardFormatAvailable');
  3374.   asm
  3375.     mov esp, ebp
  3376.     pop ebp
  3377.     jmp [_IsClipboardFormatAvailable]
  3378.   end;
  3379. end;
  3380. {$ELSE}
  3381. function IsClipboardFormatAvailable; external user32 name 'IsClipboardFormatAvailable';
  3382. {$ENDIF DYNAMIC_LINK}
  3383. {$IFDEF DYNAMIC_LINK}
  3384. var
  3385.   _GetPriorityClipboardFormat: Pointer;
  3386. function GetPriorityClipboardFormat;
  3387. begin
  3388.   GetProcedureAddress(_GetPriorityClipboardFormat, user32, 'GetPriorityClipboardFormat');
  3389.   asm
  3390.     mov esp, ebp
  3391.     pop ebp
  3392.     jmp [_GetPriorityClipboardFormat]
  3393.   end;
  3394. end;
  3395. {$ELSE}
  3396. function GetPriorityClipboardFormat; external user32 name 'GetPriorityClipboardFormat';
  3397. {$ENDIF DYNAMIC_LINK}
  3398. {$IFDEF DYNAMIC_LINK}
  3399. var
  3400.   _GetOpenClipboardWindow: Pointer;
  3401. function GetOpenClipboardWindow;
  3402. begin
  3403.   GetProcedureAddress(_GetOpenClipboardWindow, user32, 'GetOpenClipboardWindow');
  3404.   asm
  3405.     mov esp, ebp
  3406.     pop ebp
  3407.     jmp [_GetOpenClipboardWindow]
  3408.   end;
  3409. end;
  3410. {$ELSE}
  3411. function GetOpenClipboardWindow; external user32 name 'GetOpenClipboardWindow';
  3412. {$ENDIF DYNAMIC_LINK}
  3413. {$IFDEF DYNAMIC_LINK}
  3414. var
  3415.   _CharToOemA: Pointer;
  3416. function CharToOemA;
  3417. begin
  3418.   GetProcedureAddress(_CharToOemA, user32, 'CharToOemA');
  3419.   asm
  3420.     mov esp, ebp
  3421.     pop ebp
  3422.     jmp [_CharToOemA]
  3423.   end;
  3424. end;
  3425. {$ELSE}
  3426. function CharToOemA; external user32 name 'CharToOemA';
  3427. {$ENDIF DYNAMIC_LINK}
  3428. {$IFDEF DYNAMIC_LINK}
  3429. var
  3430.   _CharToOemW: Pointer;
  3431. function CharToOemW;
  3432. begin
  3433.   GetProcedureAddress(_CharToOemW, user32, 'CharToOemW');
  3434.   asm
  3435.     mov esp, ebp
  3436.     pop ebp
  3437.     jmp [_CharToOemW]
  3438.   end;
  3439. end;
  3440. {$ELSE}
  3441. function CharToOemW; external user32 name 'CharToOemW';
  3442. {$ENDIF DYNAMIC_LINK}
  3443. {$IFDEF UNICODE}
  3444. {$IFDEF DYNAMIC_LINK}
  3445. var
  3446.   _CharToOem: Pointer;
  3447. function CharToOem;
  3448. begin
  3449.   GetProcedureAddress(_CharToOem, user32, 'CharToOemW');
  3450.   asm
  3451.     mov esp, ebp
  3452.     pop ebp
  3453.     jmp [_CharToOem]
  3454.   end;
  3455. end;
  3456. {$ELSE}
  3457. function CharToOem; external user32 name 'CharToOemW';
  3458. {$ENDIF DYNAMIC_LINK}
  3459. {$ELSE}
  3460. {$IFDEF DYNAMIC_LINK}
  3461. var
  3462.   _CharToOem: Pointer;
  3463. function CharToOem;
  3464. begin
  3465.   GetProcedureAddress(_CharToOem, user32, 'CharToOemA');
  3466.   asm
  3467.     mov esp, ebp
  3468.     pop ebp
  3469.     jmp [_CharToOem]
  3470.   end;
  3471. end;
  3472. {$ELSE}
  3473. function CharToOem; external user32 name 'CharToOemA';
  3474. {$ENDIF DYNAMIC_LINK}
  3475. {$ENDIF}
  3476. {$IFDEF DYNAMIC_LINK}
  3477. var
  3478.   _OemToCharA: Pointer;
  3479. function OemToCharA;
  3480. begin
  3481.   GetProcedureAddress(_OemToCharA, user32, 'OemToCharA');
  3482.   asm
  3483.     mov esp, ebp
  3484.     pop ebp
  3485.     jmp [_OemToCharA]
  3486.   end;
  3487. end;
  3488. {$ELSE}
  3489. function OemToCharA; external user32 name 'OemToCharA';
  3490. {$ENDIF DYNAMIC_LINK}
  3491. {$IFDEF DYNAMIC_LINK}
  3492. var
  3493.   _OemToCharW: Pointer;
  3494. function OemToCharW;
  3495. begin
  3496.   GetProcedureAddress(_OemToCharW, user32, 'OemToCharW');
  3497.   asm
  3498.     mov esp, ebp
  3499.     pop ebp
  3500.     jmp [_OemToCharW]
  3501.   end;
  3502. end;
  3503. {$ELSE}
  3504. function OemToCharW; external user32 name 'OemToCharW';
  3505. {$ENDIF DYNAMIC_LINK}
  3506. {$IFDEF UNICODE}
  3507. {$IFDEF DYNAMIC_LINK}
  3508. var
  3509.   _OemToChar: Pointer;
  3510. function OemToChar;
  3511. begin
  3512.   GetProcedureAddress(_OemToChar, user32, 'OemToCharW');
  3513.   asm
  3514.     mov esp, ebp
  3515.     pop ebp
  3516.     jmp [_OemToChar]
  3517.   end;
  3518. end;
  3519. {$ELSE}
  3520. function OemToChar; external user32 name 'OemToCharW';
  3521. {$ENDIF DYNAMIC_LINK}
  3522. {$ELSE}
  3523. {$IFDEF DYNAMIC_LINK}
  3524. var
  3525.   _OemToChar: Pointer;
  3526. function OemToChar;
  3527. begin
  3528.   GetProcedureAddress(_OemToChar, user32, 'OemToCharA');
  3529.   asm
  3530.     mov esp, ebp
  3531.     pop ebp
  3532.     jmp [_OemToChar]
  3533.   end;
  3534. end;
  3535. {$ELSE}
  3536. function OemToChar; external user32 name 'OemToCharA';
  3537. {$ENDIF DYNAMIC_LINK}
  3538. {$ENDIF}
  3539. {$IFDEF DYNAMIC_LINK}
  3540. var
  3541.   _CharToOemBuffA: Pointer;
  3542. function CharToOemBuffA;
  3543. begin
  3544.   GetProcedureAddress(_CharToOemBuffA, user32, 'CharToOemBuffA');
  3545.   asm
  3546.     mov esp, ebp
  3547.     pop ebp
  3548.     jmp [_CharToOemBuffA]
  3549.   end;
  3550. end;
  3551. {$ELSE}
  3552. function CharToOemBuffA; external user32 name 'CharToOemBuffA';
  3553. {$ENDIF DYNAMIC_LINK}
  3554. {$IFDEF DYNAMIC_LINK}
  3555. var
  3556.   _CharToOemBuffW: Pointer;
  3557. function CharToOemBuffW;
  3558. begin
  3559.   GetProcedureAddress(_CharToOemBuffW, user32, 'CharToOemBuffW');
  3560.   asm
  3561.     mov esp, ebp
  3562.     pop ebp
  3563.     jmp [_CharToOemBuffW]
  3564.   end;
  3565. end;
  3566. {$ELSE}
  3567. function CharToOemBuffW; external user32 name 'CharToOemBuffW';
  3568. {$ENDIF DYNAMIC_LINK}
  3569. {$IFDEF UNICODE}
  3570. {$IFDEF DYNAMIC_LINK}
  3571. var
  3572.   _CharToOemBuff: Pointer;
  3573. function CharToOemBuff;
  3574. begin
  3575.   GetProcedureAddress(_CharToOemBuff, user32, 'CharToOemBuffW');
  3576.   asm
  3577.     mov esp, ebp
  3578.     pop ebp
  3579.     jmp [_CharToOemBuff]
  3580.   end;
  3581. end;
  3582. {$ELSE}
  3583. function CharToOemBuff; external user32 name 'CharToOemBuffW';
  3584. {$ENDIF DYNAMIC_LINK}
  3585. {$ELSE}
  3586. {$IFDEF DYNAMIC_LINK}
  3587. var
  3588.   _CharToOemBuff: Pointer;
  3589. function CharToOemBuff;
  3590. begin
  3591.   GetProcedureAddress(_CharToOemBuff, user32, 'CharToOemBuffA');
  3592.   asm
  3593.     mov esp, ebp
  3594.     pop ebp
  3595.     jmp [_CharToOemBuff]
  3596.   end;
  3597. end;
  3598. {$ELSE}
  3599. function CharToOemBuff; external user32 name 'CharToOemBuffA';
  3600. {$ENDIF DYNAMIC_LINK}
  3601. {$ENDIF}
  3602. {$IFDEF DYNAMIC_LINK}
  3603. var
  3604.   _OemToCharBuffA: Pointer;
  3605. function OemToCharBuffA;
  3606. begin
  3607.   GetProcedureAddress(_OemToCharBuffA, user32, 'OemToCharBuffA');
  3608.   asm
  3609.     mov esp, ebp
  3610.     pop ebp
  3611.     jmp [_OemToCharBuffA]
  3612.   end;
  3613. end;
  3614. {$ELSE}
  3615. function OemToCharBuffA; external user32 name 'OemToCharBuffA';
  3616. {$ENDIF DYNAMIC_LINK}
  3617. {$IFDEF DYNAMIC_LINK}
  3618. var
  3619.   _OemToCharBuffW: Pointer;
  3620. function OemToCharBuffW;
  3621. begin
  3622.   GetProcedureAddress(_OemToCharBuffW, user32, 'OemToCharBuffW');
  3623.   asm
  3624.     mov esp, ebp
  3625.     pop ebp
  3626.     jmp [_OemToCharBuffW]
  3627.   end;
  3628. end;
  3629. {$ELSE}
  3630. function OemToCharBuffW; external user32 name 'OemToCharBuffW';
  3631. {$ENDIF DYNAMIC_LINK}
  3632. {$IFDEF UNICODE}
  3633. {$IFDEF DYNAMIC_LINK}
  3634. var
  3635.   _OemToCharBuff: Pointer;
  3636. function OemToCharBuff;
  3637. begin
  3638.   GetProcedureAddress(_OemToCharBuff, user32, 'OemToCharBuffW');
  3639.   asm
  3640.     mov esp, ebp
  3641.     pop ebp
  3642.     jmp [_OemToCharBuff]
  3643.   end;
  3644. end;
  3645. {$ELSE}
  3646. function OemToCharBuff; external user32 name 'OemToCharBuffW';
  3647. {$ENDIF DYNAMIC_LINK}
  3648. {$ELSE}
  3649. {$IFDEF DYNAMIC_LINK}
  3650. var
  3651.   _OemToCharBuff: Pointer;
  3652. function OemToCharBuff;
  3653. begin
  3654.   GetProcedureAddress(_OemToCharBuff, user32, 'OemToCharBuffA');
  3655.   asm
  3656.     mov esp, ebp
  3657.     pop ebp
  3658.     jmp [_OemToCharBuff]
  3659.   end;
  3660. end;
  3661. {$ELSE}
  3662. function OemToCharBuff; external user32 name 'OemToCharBuffA';
  3663. {$ENDIF DYNAMIC_LINK}
  3664. {$ENDIF}
  3665. {$IFDEF DYNAMIC_LINK}
  3666. var
  3667.   _CharUpperA: Pointer;
  3668. function CharUpperA;
  3669. begin
  3670.   GetProcedureAddress(_CharUpperA, user32, 'CharUpperA');
  3671.   asm
  3672.     mov esp, ebp
  3673.     pop ebp
  3674.     jmp [_CharUpperA]
  3675.   end;
  3676. end;
  3677. {$ELSE}
  3678. function CharUpperA; external user32 name 'CharUpperA';
  3679. {$ENDIF DYNAMIC_LINK}
  3680. {$IFDEF DYNAMIC_LINK}
  3681. var
  3682.   _CharUpperW: Pointer;
  3683. function CharUpperW;
  3684. begin
  3685.   GetProcedureAddress(_CharUpperW, user32, 'CharUpperW');
  3686.   asm
  3687.     mov esp, ebp
  3688.     pop ebp
  3689.     jmp [_CharUpperW]
  3690.   end;
  3691. end;
  3692. {$ELSE}
  3693. function CharUpperW; external user32 name 'CharUpperW';
  3694. {$ENDIF DYNAMIC_LINK}
  3695. {$IFDEF UNICODE}
  3696. {$IFDEF DYNAMIC_LINK}
  3697. var
  3698.   _CharUpper: Pointer;
  3699. function CharUpper;
  3700. begin
  3701.   GetProcedureAddress(_CharUpper, user32, 'CharUpperW');
  3702.   asm
  3703.     mov esp, ebp
  3704.     pop ebp
  3705.     jmp [_CharUpper]
  3706.   end;
  3707. end;
  3708. {$ELSE}
  3709. function CharUpper; external user32 name 'CharUpperW';
  3710. {$ENDIF DYNAMIC_LINK}
  3711. {$ELSE}
  3712. {$IFDEF DYNAMIC_LINK}
  3713. var
  3714.   _CharUpper: Pointer;
  3715. function CharUpper;
  3716. begin
  3717.   GetProcedureAddress(_CharUpper, user32, 'CharUpperA');
  3718.   asm
  3719.     mov esp, ebp
  3720.     pop ebp
  3721.     jmp [_CharUpper]
  3722.   end;
  3723. end;
  3724. {$ELSE}
  3725. function CharUpper; external user32 name 'CharUpperA';
  3726. {$ENDIF DYNAMIC_LINK}
  3727. {$ENDIF}
  3728. {$IFDEF DYNAMIC_LINK}
  3729. var
  3730.   _CharUpperBuffA: Pointer;
  3731. function CharUpperBuffA;
  3732. begin
  3733.   GetProcedureAddress(_CharUpperBuffA, user32, 'CharUpperBuffA');
  3734.   asm
  3735.     mov esp, ebp
  3736.     pop ebp
  3737.     jmp [_CharUpperBuffA]
  3738.   end;
  3739. end;
  3740. {$ELSE}
  3741. function CharUpperBuffA; external user32 name 'CharUpperBuffA';
  3742. {$ENDIF DYNAMIC_LINK}
  3743. {$IFDEF DYNAMIC_LINK}
  3744. var
  3745.   _CharUpperBuffW: Pointer;
  3746. function CharUpperBuffW;
  3747. begin
  3748.   GetProcedureAddress(_CharUpperBuffW, user32, 'CharUpperBuffW');
  3749.   asm
  3750.     mov esp, ebp
  3751.     pop ebp
  3752.     jmp [_CharUpperBuffW]
  3753.   end;
  3754. end;
  3755. {$ELSE}
  3756. function CharUpperBuffW; external user32 name 'CharUpperBuffW';
  3757. {$ENDIF DYNAMIC_LINK}
  3758. {$IFDEF UNICODE}
  3759. {$IFDEF DYNAMIC_LINK}
  3760. var
  3761.   _CharUpperBuff: Pointer;
  3762. function CharUpperBuff;
  3763. begin
  3764.   GetProcedureAddress(_CharUpperBuff, user32, 'CharUpperBuffW');
  3765.   asm
  3766.     mov esp, ebp
  3767.     pop ebp
  3768.     jmp [_CharUpperBuff]
  3769.   end;
  3770. end;
  3771. {$ELSE}
  3772. function CharUpperBuff; external user32 name 'CharUpperBuffW';
  3773. {$ENDIF DYNAMIC_LINK}
  3774. {$ELSE}
  3775. {$IFDEF DYNAMIC_LINK}
  3776. var
  3777.   _CharUpperBuff: Pointer;
  3778. function CharUpperBuff;
  3779. begin
  3780.   GetProcedureAddress(_CharUpperBuff, user32, 'CharUpperBuffA');
  3781.   asm
  3782.     mov esp, ebp
  3783.     pop ebp
  3784.     jmp [_CharUpperBuff]
  3785.   end;
  3786. end;
  3787. {$ELSE}
  3788. function CharUpperBuff; external user32 name 'CharUpperBuffA';
  3789. {$ENDIF DYNAMIC_LINK}
  3790. {$ENDIF}
  3791. {$IFDEF DYNAMIC_LINK}
  3792. var
  3793.   _CharLowerA: Pointer;
  3794. function CharLowerA;
  3795. begin
  3796.   GetProcedureAddress(_CharLowerA, user32, 'CharLowerA');
  3797.   asm
  3798.     mov esp, ebp
  3799.     pop ebp
  3800.     jmp [_CharLowerA]
  3801.   end;
  3802. end;
  3803. {$ELSE}
  3804. function CharLowerA; external user32 name 'CharLowerA';
  3805. {$ENDIF DYNAMIC_LINK}
  3806. {$IFDEF DYNAMIC_LINK}
  3807. var
  3808.   _CharLowerW: Pointer;
  3809. function CharLowerW;
  3810. begin
  3811.   GetProcedureAddress(_CharLowerW, user32, 'CharLowerW');
  3812.   asm
  3813.     mov esp, ebp
  3814.     pop ebp
  3815.     jmp [_CharLowerW]
  3816.   end;
  3817. end;
  3818. {$ELSE}
  3819. function CharLowerW; external user32 name 'CharLowerW';
  3820. {$ENDIF DYNAMIC_LINK}
  3821. {$IFDEF UNICODE}
  3822. {$IFDEF DYNAMIC_LINK}
  3823. var
  3824.   _CharLower: Pointer;
  3825. function CharLower;
  3826. begin
  3827.   GetProcedureAddress(_CharLower, user32, 'CharLowerW');
  3828.   asm
  3829.     mov esp, ebp
  3830.     pop ebp
  3831.     jmp [_CharLower]
  3832.   end;
  3833. end;
  3834. {$ELSE}
  3835. function CharLower; external user32 name 'CharLowerW';
  3836. {$ENDIF DYNAMIC_LINK}
  3837. {$ELSE}
  3838. {$IFDEF DYNAMIC_LINK}
  3839. var
  3840.   _CharLower: Pointer;
  3841. function CharLower;
  3842. begin
  3843.   GetProcedureAddress(_CharLower, user32, 'CharLowerA');
  3844.   asm
  3845.     mov esp, ebp
  3846.     pop ebp
  3847.     jmp [_CharLower]
  3848.   end;
  3849. end;
  3850. {$ELSE}
  3851. function CharLower; external user32 name 'CharLowerA';
  3852. {$ENDIF DYNAMIC_LINK}
  3853. {$ENDIF}
  3854. {$IFDEF DYNAMIC_LINK}
  3855. var
  3856.   _CharLowerBuffA: Pointer;
  3857. function CharLowerBuffA;
  3858. begin
  3859.   GetProcedureAddress(_CharLowerBuffA, user32, 'CharLowerBuffA');
  3860.   asm
  3861.     mov esp, ebp
  3862.     pop ebp
  3863.     jmp [_CharLowerBuffA]
  3864.   end;
  3865. end;
  3866. {$ELSE}
  3867. function CharLowerBuffA; external user32 name 'CharLowerBuffA';
  3868. {$ENDIF DYNAMIC_LINK}
  3869. {$IFDEF DYNAMIC_LINK}
  3870. var
  3871.   _CharLowerBuffW: Pointer;
  3872. function CharLowerBuffW;
  3873. begin
  3874.   GetProcedureAddress(_CharLowerBuffW, user32, 'CharLowerBuffW');
  3875.   asm
  3876.     mov esp, ebp
  3877.     pop ebp
  3878.     jmp [_CharLowerBuffW]
  3879.   end;
  3880. end;
  3881. {$ELSE}
  3882. function CharLowerBuffW; external user32 name 'CharLowerBuffW';
  3883. {$ENDIF DYNAMIC_LINK}
  3884. {$IFDEF UNICODE}
  3885. {$IFDEF DYNAMIC_LINK}
  3886. var
  3887.   _CharLowerBuff: Pointer;
  3888. function CharLowerBuff;
  3889. begin
  3890.   GetProcedureAddress(_CharLowerBuff, user32, 'CharLowerBuffW');
  3891.   asm
  3892.     mov esp, ebp
  3893.     pop ebp
  3894.     jmp [_CharLowerBuff]
  3895.   end;
  3896. end;
  3897. {$ELSE}
  3898. function CharLowerBuff; external user32 name 'CharLowerBuffW';
  3899. {$ENDIF DYNAMIC_LINK}
  3900. {$ELSE}
  3901. {$IFDEF DYNAMIC_LINK}
  3902. var
  3903.   _CharLowerBuff: Pointer;
  3904. function CharLowerBuff;
  3905. begin
  3906.   GetProcedureAddress(_CharLowerBuff, user32, 'CharLowerBuffA');
  3907.   asm
  3908.     mov esp, ebp
  3909.     pop ebp
  3910.     jmp [_CharLowerBuff]
  3911.   end;
  3912. end;
  3913. {$ELSE}
  3914. function CharLowerBuff; external user32 name 'CharLowerBuffA';
  3915. {$ENDIF DYNAMIC_LINK}
  3916. {$ENDIF}
  3917. {$IFDEF DYNAMIC_LINK}
  3918. var
  3919.   _CharNextA: Pointer;
  3920. function CharNextA;
  3921. begin
  3922.   GetProcedureAddress(_CharNextA, user32, 'CharNextA');
  3923.   asm
  3924.     mov esp, ebp
  3925.     pop ebp
  3926.     jmp [_CharNextA]
  3927.   end;
  3928. end;
  3929. {$ELSE}
  3930. function CharNextA; external user32 name 'CharNextA';
  3931. {$ENDIF DYNAMIC_LINK}
  3932. {$IFDEF DYNAMIC_LINK}
  3933. var
  3934.   _CharNextW: Pointer;
  3935. function CharNextW;
  3936. begin
  3937.   GetProcedureAddress(_CharNextW, user32, 'CharNextW');
  3938.   asm
  3939.     mov esp, ebp
  3940.     pop ebp
  3941.     jmp [_CharNextW]
  3942.   end;
  3943. end;
  3944. {$ELSE}
  3945. function CharNextW; external user32 name 'CharNextW';
  3946. {$ENDIF DYNAMIC_LINK}
  3947. {$IFDEF UNICODE}
  3948. {$IFDEF DYNAMIC_LINK}
  3949. var
  3950.   _CharNext: Pointer;
  3951. function CharNext;
  3952. begin
  3953.   GetProcedureAddress(_CharNext, user32, 'CharNextW');
  3954.   asm
  3955.     mov esp, ebp
  3956.     pop ebp
  3957.     jmp [_CharNext]
  3958.   end;
  3959. end;
  3960. {$ELSE}
  3961. function CharNext; external user32 name 'CharNextW';
  3962. {$ENDIF DYNAMIC_LINK}
  3963. {$ELSE}
  3964. {$IFDEF DYNAMIC_LINK}
  3965. var
  3966.   _CharNext: Pointer;
  3967. function CharNext;
  3968. begin
  3969.   GetProcedureAddress(_CharNext, user32, 'CharNextA');
  3970.   asm
  3971.     mov esp, ebp
  3972.     pop ebp
  3973.     jmp [_CharNext]
  3974.   end;
  3975. end;
  3976. {$ELSE}
  3977. function CharNext; external user32 name 'CharNextA';
  3978. {$ENDIF DYNAMIC_LINK}
  3979. {$ENDIF}
  3980. {$IFDEF DYNAMIC_LINK}
  3981. var
  3982.   _CharPrevA: Pointer;
  3983. function CharPrevA;
  3984. begin
  3985.   GetProcedureAddress(_CharPrevA, user32, 'CharPrevA');
  3986.   asm
  3987.     mov esp, ebp
  3988.     pop ebp
  3989.     jmp [_CharPrevA]
  3990.   end;
  3991. end;
  3992. {$ELSE}
  3993. function CharPrevA; external user32 name 'CharPrevA';
  3994. {$ENDIF DYNAMIC_LINK}
  3995. {$IFDEF DYNAMIC_LINK}
  3996. var
  3997.   _CharPrevW: Pointer;
  3998. function CharPrevW;
  3999. begin
  4000.   GetProcedureAddress(_CharPrevW, user32, 'CharPrevW');
  4001.   asm
  4002.     mov esp, ebp
  4003.     pop ebp
  4004.     jmp [_CharPrevW]
  4005.   end;
  4006. end;
  4007. {$ELSE}
  4008. function CharPrevW; external user32 name 'CharPrevW';
  4009. {$ENDIF DYNAMIC_LINK}
  4010. {$IFDEF UNICODE}
  4011. {$IFDEF DYNAMIC_LINK}
  4012. var
  4013.   _CharPrev: Pointer;
  4014. function CharPrev;
  4015. begin
  4016.   GetProcedureAddress(_CharPrev, user32, 'CharPrevW');
  4017.   asm
  4018.     mov esp, ebp
  4019.     pop ebp
  4020.     jmp [_CharPrev]
  4021.   end;
  4022. end;
  4023. {$ELSE}
  4024. function CharPrev; external user32 name 'CharPrevW';
  4025. {$ENDIF DYNAMIC_LINK}
  4026. {$ELSE}
  4027. {$IFDEF DYNAMIC_LINK}
  4028. var
  4029.   _CharPrev: Pointer;
  4030. function CharPrev;
  4031. begin
  4032.   GetProcedureAddress(_CharPrev, user32, 'CharPrevA');
  4033.   asm
  4034.     mov esp, ebp
  4035.     pop ebp
  4036.     jmp [_CharPrev]
  4037.   end;
  4038. end;
  4039. {$ELSE}
  4040. function CharPrev; external user32 name 'CharPrevA';
  4041. {$ENDIF DYNAMIC_LINK}
  4042. {$ENDIF}
  4043. {$IFDEF DYNAMIC_LINK}
  4044. var
  4045.   _CharNextExA: Pointer;
  4046. function CharNextExA;
  4047. begin
  4048.   GetProcedureAddress(_CharNextExA, user32, 'CharNextExA');
  4049.   asm
  4050.     mov esp, ebp
  4051.     pop ebp
  4052.     jmp [_CharNextExA]
  4053.   end;
  4054. end;
  4055. {$ELSE}
  4056. function CharNextExA; external user32 name 'CharNextExA';
  4057. {$ENDIF DYNAMIC_LINK}
  4058. {$IFDEF DYNAMIC_LINK}
  4059. var