{"id":25411,"date":"2020-11-16T08:53:41","date_gmt":"2020-11-16T01:53:41","guid":{"rendered":"https:\/\/tom.ji42.com\/?p=25411"},"modified":"2020-11-16T09:09:54","modified_gmt":"2020-11-16T02:09:54","slug":"%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99-window-api","status":"publish","type":"post","link":"https:\/\/tom.tomwork.net\/?p=25411","title":{"rendered":"\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Window API"},"content":{"rendered":"<p>Window API \u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01\u0e0a\u0e19\u0e34\u0e14\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e17\u0e35\u0e48\u0e21\u0e35\u0e21\u0e32\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e01\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e41\u0e1e\u0e23\u0e48\u0e2b\u0e25\u0e32\u0e22\u0e43\u0e19\u0e02\u0e13\u0e30\u0e19\u0e35\u0e49 \u0e0b\u0e36\u0e48\u0e07\u0e01\u0e47\u0e04\u0e25\u0e49\u0e32\u0e22\u0e46\u0e01\u0e31\u0e1a\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e02\u0e2d\u0e07 Visual FoxPro \u0e2d\u0e31\u0e19\u0e17\u0e35\u0e48\u0e08\u0e23\u0e34\u0e07\u0e41\u0e25\u0e49\u0e27\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01\u0e15\u0e48\u0e32\u0e07\u0e46\u0e19\u0e31\u0e49\u0e19\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e21\u0e32\u0e01\u0e21\u0e32\u0e22\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19 Active X Control, \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e20\u0e32\u0e29\u0e32 C \u0e41\u0e25\u0e49\u0e27 Compile \u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1f\u0e25\u0e4c .DLL (Dynamic Link Library) , Visual FoxPro External Library \u0e44\u0e1f\u0e25\u0e4c .FLL \u00a0 \u0e0b\u0e36\u0e48\u0e07\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e01\u0e25\u0e48\u0e32\u0e27\u0e21\u0e32\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e08\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e27\u0e48\u0e32 API (Application Programming Interface) \u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19<\/p>\n<p>\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e14\u0e49\u0e27\u0e22\u0e2b\u0e23\u0e37\u0e2d\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Window API ?<\/p>\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e07\u0e32\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e02\u0e36\u0e49\u0e19\u0e19\u0e31\u0e49\u0e19\u0e40\u0e23\u0e32\u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e02\u0e2d\u0e07 Window API \u0e01\u0e47\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 \u0e04\u0e38\u0e13\u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e48\u0e32\u0e07\u0e46\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e21<!--more--><\/p>\n<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e44\u0e14\u0e49\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 API \u00a0 \u0e44\u0e27\u0e49\u0e43\u0e2b\u0e49\u0e42\u0e14\u0e22\u0e08\u0e30\u0e1a\u0e23\u0e23\u0e08\u0e38\u0e2d\u0e22\u0e39\u0e48\u0e20\u0e32\u0e22\u0e43\u0e15\u0e49 System Directory \u0e48\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e35\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25 .DLL \u0e44\u0e1f\u0e25\u0e4c\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 Kernal32.DLL, Gdi32.DLL, User32.DLL, Mpr.DLL \u0e41\u0e25\u0e30 Advapi32.DLL \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19<\/p>\n<p>\u0e43\u0e19\u0e23\u0e30\u0e22\u0e30\u0e41\u0e23\u0e01\u0e46\u0e1c\u0e39\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19\u0e40\u0e04\u0e22\u0e1b\u0e23\u0e30\u0e2a\u0e1a\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Windows API \u0e08\u0e32\u0e01\u0e41\u0e2b\u0e25\u0e48\u0e07\u0e15\u0e48\u0e32\u0e07\u0e46\u0e40\u0e17\u0e48\u0e32\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2b\u0e32\u0e44\u0e14\u0e49\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e41\u0e25\u0e30\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e19\u0e31\u0e49\u0e19\u0e40\u0e02\u0e35\u0e22\u0e19\u0e02\u0e36\u0e49\u0e19\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49 \u0e20\u0e32\u0e29\u0e32 Visual Basic \u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e25\u0e31\u0e01 \u0e44\u0e14\u0e49\u0e41\u0e15\u0e48\u0e19\u0e36\u0e01\u0e43\u0e19\u0e43\u0e08\u0e27\u0e48\u0e32\u0e17\u0e33\u0e44\u0e21\u0e48\u0e17\u0e32\u0e07 Microsoft \u0e16\u0e36\u0e07\u0e44\u0e21\u0e48\u0e22\u0e2d\u0e21\u0e22\u0e01\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07 Visual FoxPro \u0e1a\u0e49\u0e32\u0e07 \u0e01\u0e47\u0e40\u0e25\u0e22\u0e09\u0e38\u0e01\u0e04\u0e34\u0e14\u0e44\u0e14\u0e49\u0e27\u0e48\u0e32 Visual Baisc \u0e40\u0e1b\u0e47\u0e19\u0e25\u0e39\u0e01\u0e41\u0e17\u0e49\u0e46\u0e02\u0e2d\u0e07 Microsoft \u0e2a\u0e48\u0e27\u0e19 Visual FoxPro \u0e40\u0e1b\u0e47\u0e19\u0e41\u0e04\u0e48\u0e25\u0e39\u0e01\u0e1a\u0e38\u0e0d\u0e18\u0e23\u0e23\u0e21 \u0e43\u0e04\u0e23\u0e08\u0e30\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e01\u0e27\u0e48\u0e32\u0e01\u0e31\u0e19? \u00a0 \u0e41\u0e15\u0e48\u0e1e\u0e2d\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 API \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49 Visual FoxPro \u0e01\u0e31\u0e1a\u0e40\u0e02\u0e35\u0e22\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22\u0e01\u0e27\u0e48\u0e32 Visual Basic \u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e1a\u0e17\u0e48\u0e32\u0e19<\/p>\n<p><strong>\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e08\u0e32\u0e01\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01<\/strong><\/p>\n<p>\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e08\u0e32\u0e01\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01 (\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e35\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25 .DLL) \u0e21\u0e35\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n<p>DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName]<br \/>\n[ cParamType1 [@] ParamName1,<br \/>\ncParamType2 [@] ParamName2, &#8230;]<\/p>\n<p>\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 DECLARE \u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e23\u0e35\u0e08\u0e34\u0e2a\u0e40\u0e15\u0e2d\u0e23\u0e4c(Register) \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e43\u0e2b\u0e49 Visual FoxPro \u0e17\u0e23\u0e32\u0e1a\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07<\/p>\n<p>\u0e16\u0e49\u0e32\u0e1c\u0e21\u0e08\u0e30\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e17\u0e48\u0e32\u0e19\u0e1c\u0e39\u0e49\u0e2d\u0e48\u0e32\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e07\u0e15\u0e49\u0e2d\u0e07\u0e07\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e19\u0e48\u0e41\u0e17\u0e49 (\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e1c\u0e21\u0e15\u0e2d\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e2b\u0e21\u0e48\u0e46) \u0e1c\u0e21\u0e08\u0e30\u0e02\u0e2d\u0e22\u0e01\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e42\u0e14\u0e22 Visual Basic \u0e41\u0e25\u0e49\u0e27\u0e19\u0e33\u0e21\u0e32\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e31\u0e19\u0e14\u0e39 \u0e40\u0e1c\u0e37\u0e48\u0e2d\u0e17\u0e48\u0e32\u0e19\u0e44\u0e1b\u0e1e\u0e1a\u0e40\u0e2b\u0e47\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e14\u0e49\u0e27\u0e22 Visual Basic \u0e08\u0e30\u0e44\u0e14\u0e49\u0e19\u0e33\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19 Visual FoxPro \u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e42\u0e22\u0e18\u0e34\u0e19<\/p>\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e14\u0e36\u0e07\u0e0a\u0e37\u0e48\u0e2d User Name \u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows<\/p>\n<p>Visual Basic \u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n<p>Private Declare Function GetUserName Lib &#8220;kernel32&#8221; Alias &#8220;UserName&#8221; (ByVal lpBuffer As String, nSize As Long) As Long<\/p>\n<p>Visual FoxPro \u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n<p>DECLARE Long GetUserName IN Win32API AS UserName String @lpBuffer , Long @nSize<\/p>\n<p>\u0e40\u0e2b\u0e47\u0e19\u0e44\u0e2b\u0e21\u0e04\u0e23\u0e31\u0e1a\u0e27\u0e48\u0e32 Visual FoxPro \u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22\u0e41\u0e25\u0e30\u0e2a\u0e31\u0e49\u0e19\u0e01\u0e27\u0e48\u0e32\u0e15\u0e31\u0e49\u0e07\u0e40\u0e22\u0e2d\u0e30<\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/span><\/p>\n<table border=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td width=\"20%\">\n<p align=\"center\">\n<\/td>\n<td width=\"20%\">\n<p align=\"center\"><span style=\"font-family: MS Sans Serif;\">Visual FoxPro<\/span><\/p>\n<\/td>\n<td width=\"20%\">\n<p align=\"center\"><span style=\"font-family: MS Sans Serif;\">Visual Basic<\/span><\/p>\n<\/td>\n<td width=\"40%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">DECLARE<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">DECLARE<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">Private Declare Function<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23 Register \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 API<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">[FunctionType]<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">Long<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">As Long<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e40\u0e1b\u0e47\u0e19\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 \u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e44\u0e14\u0e49\u0e21\u0e35\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/span><\/p>\n<table>\n<tbody>\n<tr valign=\"top\">\n<td width=\"26%\"><span style=\"font-family: MS Sans Serif;\">SHORT<\/span><\/td>\n<td width=\"74%\"><span style=\"font-family: MS Sans Serif;\">16-bit integer<\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"26%\"><span style=\"font-family: MS Sans Serif;\">INTEGER<\/span><\/td>\n<td width=\"74%\"><span style=\"font-family: MS Sans Serif;\">32-bit integer<\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"26%\"><span style=\"font-family: MS Sans Serif;\">SINGLE<\/span><\/td>\n<td width=\"74%\"><span style=\"font-family: MS Sans Serif;\">32-bit floating point<\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"26%\"><span style=\"font-family: MS Sans Serif;\">DOUBLE<\/span><\/td>\n<td width=\"74%\"><span style=\"font-family: MS Sans Serif;\">64-bit floating point<\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"26%\"><span style=\"font-family: MS Sans Serif;\">LONG<\/span><\/td>\n<td width=\"74%\"><span style=\"font-family: MS Sans Serif;\">32-bit long integer<\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"26%\"><span style=\"font-family: MS Sans Serif;\">STRING<\/span><\/td>\n<td width=\"74%\"><span style=\"font-family: MS Sans Serif;\">Character string<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">FunctionName<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">GetUserName<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">GetUserName<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e0a\u0e37\u0e48\u0e2d\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e02\u0e2d\u0e07 Windows API \u0e15\u0e49\u0e2d\u0e07\u0e1b\u0e49\u0e2d\u0e19\u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23\u0e43\u0e2b\u0e0d\u0e48\u0e40\u0e25\u0e47\u0e01\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">IN LibraryName<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">IN Win32API<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">Lib &#8220;kernel32&#8221;<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e08\u0e32\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e43\u0e14 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Visual FoxPro \u0e19\u0e31\u0e49\u0e19\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e0a\u0e37\u0e48\u0e2d Win32API \u0e41\u0e17\u0e19 \u0e44\u0e1f\u0e25\u0e4c\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e35\u0e49\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 Kernal32.DLL, Gdi32.DLL, User32.DLL, Mpr.DLL \u0e41\u0e25\u0e30 Advapi32.DLL<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">AS [Alias]<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">AS UserName<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">Alias &#8220;UserName&#8221;<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e37\u0e48\u0e2d\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e41\u0e17\u0e19\u0e0a\u0e37\u0e48\u0e2d\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e40\u0e14\u0e34\u0e21<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">cParameterType1<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">String<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">As String<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e40\u0e1b\u0e47\u0e19\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">ParamName1<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">@lpBuffer<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">ByVal lpBuffer<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e40\u0e02\u0e49\u0e32\u0e41\u0e25\u0e30\u0e2d\u0e2d\u0e01<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">cParameterType2<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">Long<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">As Long<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e40\u0e1b\u0e47\u0e19\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19<\/span><\/td>\n<\/tr>\n<tr>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">ParamName2&#8230;.<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">@lnSize<\/span><\/td>\n<td width=\"20%\"><span style=\"font-family: MS Sans Serif;\">ByVal lpSize<\/span><\/td>\n<td width=\"40%\"><span style=\"font-family: MS Sans Serif;\">\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e40\u0e02\u0e49\u0e32\u0e41\u0e25\u0e30\u0e2d\u0e2d\u0e01&#8230;<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38 \u00a0 \u0e43\u0e19\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e43\u0e2a\u0e48\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2b\u0e21\u0e32\u0e22 @ \u0e44\u0e27\u0e49\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e2b\u0e21\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e27\u0e48\u0e32\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e19\u0e31\u0e49\u0e19\u0e08\u0e30\u0e21\u0e35\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e14\u0e49\u0e27\u0e22<\/p>\n<p><strong>\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23 Register<\/strong><\/p>\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e17\u0e33\u0e01\u0e32\u0e23 Register \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e48\u0e32\u0e07\u0e46\u0e41\u0e25\u0e49\u0e27 \u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e23\u0e32\u0e1a\u0e27\u0e48\u0e32\u0e21\u0e35\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e43\u0e14\u0e16\u0e39\u0e01 Register \u0e41\u0e25\u0e49\u0e27\u0e1a\u0e49\u0e32\u0e07\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e14\u0e39\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n<p>DISPLAY DLLS<\/p>\n<p>\u0e2b\u0e23\u0e37\u0e2d\u00a0\u00a0\u00a0\u00a0LIST DLLS<\/p>\n<p><strong>\u0e01\u0e32\u0e23\u0e25\u0e49\u0e32\u0e07\u0e04\u0e48\u0e32\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23 Register<\/strong><\/p>\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e25\u0e49\u0e32\u0e07\u0e04\u0e48\u0e32\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49 Register \u0e44\u0e1b\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n<p>CLEAR DLLS<\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 CLEAR DLLS \u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e25\u0e49\u0e32\u0e07\u0e04\u0e48\u0e32\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23 Register \u0e44\u0e27\u0e49\u0e2d\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<\/span><\/p>\n<p><strong>\u0e01\u0e32\u0e23\u0e19\u0e33\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Windows API \u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19<\/strong><\/p>\n<p>\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e41\u0e23\u0e01\u0e46\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Windows API \u0e19\u0e31\u0e49\u0e19\u0e1c\u0e39\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19\u0e25\u0e2d\u0e07\u0e17\u0e33\u0e15\u0e32\u0e21\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e15\u0e48\u0e32\u0e07\u0e46\u0e42\u0e14\u0e22\u0e41\u0e1b\u0e25\u0e07\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e08\u0e32\u0e01 Visual Basic \u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19 Visual FoxPro \u0e17\u0e38\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e17\u0e33\u0e44\u0e14\u0e49\u0e2b\u0e21\u0e14 \u0e40\u0e2d&#8230;\u0e41\u0e15\u0e48\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e17\u0e33\u0e44\u0e21\u0e44\u0e21\u0e48\u0e22\u0e31\u0e01\u0e2d\u0e2d\u0e01 \u0e25\u0e2d\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e2b\u0e25\u0e32\u0e22\u0e04\u0e23\u0e31\u0e49\u0e07\u0e2b\u0e25\u0e32\u0e22\u0e2b\u0e19\u0e01\u0e47\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e44\u0e14\u0e49 \u0e08\u0e19\u0e01\u0e23\u0e30\u0e17\u0e31\u0e48\u0e07\u0e44\u0e14\u0e49\u0e44\u0e1b\u0e04\u0e49\u0e19\u0e40\u0e08\u0e2d\u0e27\u0e48\u0e32\u0e01\u0e32\u0e23\u0e19\u0e33\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 API \u0e19\u0e31\u0e49\u0e19\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e1a\u0e32\u0e07\u0e0a\u0e19\u0e34\u0e14\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e33\u0e21\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e41\u0e15\u0e48\u0e04\u0e48\u0e32\u0e1a\u0e32\u0e07\u0e0a\u0e19\u0e34\u0e14\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e32\u0e01\u0e23\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1a\u0e32\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e21\u0e35\u0e04\u0e48\u0e32\u0e08\u0e23\u0e34\u0e07\u0e46\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07<\/p>\n<p>\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e25\u0e2d\u0e07\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e32\u0e01\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07 \u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e0a\u0e37\u0e48\u0e2d GETUSER.PRG \u0e42\u0e14\u0e22\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48 Command Window \u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n<p>MODIFY COMMMAND GETUSER.PRG<\/p>\n<p>\u0e41\u0e25\u0e49\u0e27\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e32\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07<\/p>\n<p>** Program: Getuser.prg **<br \/>\n** Purpose: Demonstrates how to use and call the Win32 **<br \/>\n** GetUserName API. **<\/p>\n<p>RetVal = 0<br \/>\nlpUserIDBuffer = SPACE(256) &amp;&amp; Return buffer for user ID string<br \/>\nnBufferSize = 256 &amp;&amp; Size of user ID return buffer<\/p>\n<p>DECLARE INTEGER GetUserName IN Win32API AS UserName ;<br \/>\nSTRING @lpUserIDBuffer, ;<br \/>\nINTEGER @nBufferSize<\/p>\n<p>RetVal=UserName(@lpUserIDBuffer, @nBufferSize)<br \/>\n? RetVal &amp;&amp;\u00a0<span style=\"color: #ff0000; font-family: MS Sans Serif; font-size: small;\">\u0e16\u0e49\u0e32\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e33\u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19 0<\/span><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><br \/>\n? &#8220;Value in lpUserIDBuffer : &#8221; + lpUserIDBuffer<br \/>\n? &#8220;Value in nBufferSize : &#8221; + STR(nBufferSize)<br \/>\n? &#8220;User ID : &#8221; + LEFT(lpUserIDBuffer,nbuffersize-1)<br \/>\nCLEAR DLLS<br \/>\n** End Program<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e42\u0e14\u0e22\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 Ctrl + W<br \/>\n\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e42\u0e14\u0e22\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 DO GETUSER \u0e17\u0e35\u0e48 Command Window \u0e41\u0e25\u0e49\u0e27\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e17\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e08\u0e30\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e44\u0e14\u0e49\u0e27\u0e48\u0e32\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 ? &#8220;Value in lpUserIDBuffer : &#8221; + lpUserIDBuffer \u0e08\u0e30\u0e44\u0e14\u0e49\u0e0a\u0e37\u0e48\u0e2d user name \u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e41\u0e15\u0e48\u0e08\u0e30\u0e21\u0e35\u0e04\u0e48\u0e32 null \u0e15\u0e48\u0e2d\u0e17\u0e49\u0e32\u0e22\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e14\u0e49\u0e27\u0e22\u0e2d\u0e35\u0e01 1 \u0e15\u0e31\u0e27<\/span><\/p>\n<p><span style=\"color: #400080; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Windows API \u0e43\u0e19\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e15\u0e48\u0e32\u0e07\u0e46<\/strong><\/span><\/p>\n<p><span style=\"color: #400080; font-family: MS Sans Serif; font-size: small;\">\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e17\u0e35\u0e48\u0e08\u0e30\u0e19\u0e33\u0e40\u0e2a\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e17\u0e48\u0e32\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e33\u0e43\u0e1b\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22\u0e17\u0e31\u0e19\u0e17\u0e35&#8230;\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c<\/span><\/p>\n<p><strong><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 GetVolumnInformation<\/span><\/strong><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e48\u0e32\u0e27\u0e2a\u0e32\u0e23\u0e02\u0e2d\u0e07 Volumn \u0e43\u0e19 Disk<br \/>\n\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1c\u0e21\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01 VolumnSerialNumber \u0e42\u0e14\u0e22\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e31\u0e27 Lock \u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e1c\u0e39\u0e49\u0e2d\u0e37\u0e48\u0e19\u0e19\u0e33\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e23\u0e32\u0e44\u0e1b\u0e25\u0e07\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2d\u0e37\u0e48\u0e19\u0e44\u0e14\u0e49\u0e2d\u0e35\u0e01<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: Getvol.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the Win32 **<br \/>\n** GetVolumeInformation API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<\/span><\/p>\n<p>lpRootPathName = &#8220;c:\\&#8221; &amp;&amp; Drive and directory path<br \/>\nlpVolumeNameBuffer = SPACE(256) &amp;&amp; lpVolumeName return buffer<br \/>\nnVolumeNameSize = 256 &amp;&amp; Size of\/lpVolumeNameBuffer<br \/>\nlpVolumeSerialNumber = 0 &amp;&amp; lpVolumeSerialNumber buffer<br \/>\nlpMaximumComponentLength = 256<br \/>\nlpFileSystemFlags = 0<br \/>\nlpFileSystemNameBuffer = SPACE(256)<br \/>\nnFileSystemNameSize = 256<\/p>\n<p>DECLARE INTEGER GetVolumeInformation IN Win32API AS GetVolInfo ;<br \/>\nSTRING @lpRootPathName, ;<br \/>\nSTRING @lpVolumeNameBuffer, ;<br \/>\nINTEGER nVolumeNameSize, ;<br \/>\nINTEGER @lpVolumeSerialNumber, ;<br \/>\nINTEGER @lpMaximumComponentLength, ;<br \/>\nINTEGER @lpFileSystemFlags, ;<br \/>\nSTRING @lpFileSystemNameBuffer, ;<br \/>\nINTEGER nFileSystemNameSize<\/p>\n<p>RetVal=GetVolInfo(@lpRootPathName, @lpVolumeNameBuffer, ;<br \/>\nnVolumeNameSize, @lpVolumeSerialNumber, ;<br \/>\n@lpMaximumComponentLength, @lpFileSystemFlags, ;<br \/>\n@lpFileSystemNameBuffer, nFileSystemNameSize)<\/p>\n<p>**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;**<br \/>\n** Because several of the return values are padded with a null **<br \/>\n** terminator, you will need to strip off the null terminator **<br \/>\n** in order to get the correct value, which is what is done **<br \/>\n** using the LEFT, ALLTRIM, and LEN functions. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;**<br \/>\n? &#8220;Drive &amp; path name : &#8221; + ;<br \/>\nALLTRIM(lpRootPathName)<br \/>\n? &#8220;Volume name : &#8221; + ;<br \/>\nLEFT(ALLTRIM(lpVolumeNameBuffer),LEN(ALLTRIM(lpVolumeNameBuffer))-1)<br \/>\n? &#8220;Max #\/chars in vol name : &#8221; + ;<br \/>\nALLTRIM(STR(nVolumeNameSize))<br \/>\n? &#8220;Volume Serial # : &#8221; + ;<br \/>\nALLTRIM(STR(lpVolumeSerialNumber))<br \/>\n? &#8220;Max #\/chars in dir\/file names: &#8221; + ;<br \/>\nALLTRIM(STR(lpMaximumComponentLength))<br \/>\n? &#8220;File System Flags : &#8221; + ;<br \/>\nALLTRIM(STR(lpFileSystemFlags))<br \/>\n? &#8220;File System type : &#8221; + ;<br \/>\nLEFT(ALLTRIM(lpFileSystemNameBuffer), ;<br \/>\nLEN(ALLTRIM(lpFileSystemNameBuffer))-1)<br \/>\n? &#8220;File Sys Name Size : &#8221; + ;<br \/>\nALLTRIM(STR(nFileSystemNameSize))<br \/>\nCLEAR DLLS<br \/>\n** End Program<\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 GetSystemDirectory<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e32 System Directory \u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23 \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 \u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Windows \u0e1c\u0e39\u0e49\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e08\u0e30\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e37\u0e48\u0e2d System Directory \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23\u0e44\u0e14\u0e49\u0e40\u0e2d\u0e07 \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e23\u0e32\u0e1a\u0e27\u0e48\u0e32\u0e0a\u0e37\u0e48\u0e2d\u0e2d\u0e30\u0e44\u0e23\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e32\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e43\u0e19\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32 \u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: GetSysDir.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the Win32 **<br \/>\n** GetSystemDirectory API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">lsSysDir = SPACE(256) &amp;&amp; MAX_PATH, the maximum path length<br \/>\nliSize = 256<br \/>\nDECLARE INTEGER GetSystemDirectory IN Win32API ;<br \/>\nSTRING @lsSysDir, ;<br \/>\nINTEGER liSize<\/span><\/p>\n<p>liRet = GetSystemDirectory(@lsSysDir, liSize)<br \/>\n? &#8220;Size of Data : &#8221; + STR(liRet)\u00a0\u00a0\u00a0 &amp;&amp;\u00a0<span style=\"color: #ff0000; font-family: MS Sans Serif; font-size: small;\">\u0e16\u0e49\u0e32\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e33\u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19 0<\/span><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><br \/>\n? &#8220;Windows System Directory : &#8221; + LEFT(lsSysDir,liRet)<br \/>\nCLEAR DLLS<br \/>\n** End Program<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 GetTempPath<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e32 Tempolary Directory \u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: GetTempDir.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the Win32 **<br \/>\n** GetTempPath API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\nlsSysDir = SPACE(256) &amp;&amp; MAX_PATH, the maximum path length<br \/>\nliSize = 256<\/span><\/p>\n<p>DECLARE INTEGER GetTempPath IN Win32API ;<br \/>\nINTEGER liSize, ;<br \/>\nSTRING @lsSysDir<\/p>\n<p>liRet = GetTempPath(liSize, @lsSysDir)<br \/>\n? &#8220;Size of Data : &#8221; + STR(liRet)\u00a0 &amp;&amp;\u00a0<span style=\"color: #ff0000; font-family: MS Sans Serif; font-size: small;\">\u0e16\u0e49\u0e32\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e33\u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19 0<\/span><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><br \/>\n? &#8220;Windows Tempolary Directory : &#8221; + LEFT(lsSysDir,liRet)<br \/>\nCLEAR DLLS<br \/>\n** End Program<br \/>\n<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 ExitWindowsEx<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23 \u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 Boot, Restart \u0e2b\u0e23\u0e37\u0e2d Log off \u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e08\u0e32\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: WinExit.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the Win32 **<br \/>\n** ExitWindowsEx API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\nuFlags = 0<br \/>\n* uFlags \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e0a\u0e19\u0e34\u0e14 INTEGER \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 ExitWindowsEx ( ) \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e21\u0e35\u0e04\u0e48\u0e32\u0e44\u0e14\u0e49\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<br \/>\n*\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49 Log Off \u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22<br \/>\n*\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49 Shutdown \u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07<br \/>\n*\u00a0\u00a0\u00a0 2 \u00a0\u00a0\u00a0 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49 Restart \u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48<br \/>\n*\u00a0\u00a0\u00a0 4 \u00a0\u00a0\u00a0 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01 Windows \u0e42\u0e14\u0e22\u0e17\u0e31\u0e19\u0e17\u0e35 (Force)<br \/>\ndwReserved = 0<br \/>\nDECLARE INTEGER ExitWindowsEx IN Win32API AS ExitWindows INTEGER @uFlags , INTEGER dwReserved<\/span><\/p>\n<p>RetVal = ExitWindows(@uFlags, dwReserved)<\/p>\n<p>CLEAR DLLS<br \/>\n** End Program<\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 SHGetSpecialFolderPath<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32 Special Folder \u0e02\u0e2d\u0e07 Windows<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: FinFolder.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the SHELL32 **<br \/>\n** SHGetSpecialFolderPath API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n*** Define Special Folder Constants<br \/>\n#define CSIDL_PROGRAMS 2 &amp;&amp;Program Groups Folder<br \/>\n#define CSIDL_PERSONAL 5 &amp;&amp;Personal Documents Folder<br \/>\n#define CSIDL_FAVORITES 6 &amp;&amp;Favorites Folder<br \/>\n#define CSIDL_STARTUP 7 &amp;&amp;Startup Group Folder<br \/>\n#define CSIDL_RECENT 8 &amp;&amp;Recently Used Documents<br \/>\n#define CSIDL_SENDTO 9 &amp;&amp;Send To Folder<br \/>\n#define CSIDL_STARTMENU 11 &amp;&amp;Start Menu Folder<br \/>\n#define CSIDL_DESKTOPDIRECTORY 16 &amp;&amp;Desktop Folder<br \/>\n#define CSIDL_NETHOOD 19 &amp;&amp;Network Neighborhood Folder<br \/>\n#define CSIDL_TEMPLATES 21 &amp;&amp;Document Templates Folder<br \/>\n#define CSIDL_COMMON_STARTMENU 22 &amp;&amp;Common Start Menu Folder<br \/>\n#define CSIDL_COMMON_PROGRAMS 23 &amp;&amp;Common Program Groups<br \/>\n#define CSIDL_COMMON_STARTUP 24 &amp;&amp;Common Startup Group Folder<br \/>\n#define CSIDL_COMMON_DESKTOPDIRECTORY 25 &amp;&amp;Common Desktop Folder<br \/>\n#define CSIDL_APPDATA 26 &amp;&amp;Application Data Folder<br \/>\n#define CSIDL_PRINTHOOD 27 &amp;&amp;Printers Folder<br \/>\n#define CSIDL_COMMON_FAVORITES 31 &amp;&amp;Common Favorites Folder<br \/>\n#define CSIDL_INTERNET_CACHE 32 &amp;&amp;Temp. Internet Files Folder<br \/>\n#define CSIDL_COOKIES 33 &amp;&amp;Cookies Folder<br \/>\n#define CSIDL_HISTORY 34 &amp;&amp;History Folder<\/span><\/p>\n<p>cSpecialFolderPath = space(255)<\/p>\n<p>DECLARE SHGetSpecialFolderPath IN SHELL32.DLL ;<br \/>\nAS GetFolder LONG hwndOwner, ;<br \/>\nSTRING @cSpecialFolderPath, ;<br \/>\nLONG nWhichFolder<\/p>\n<p>*** \u0e40\u0e0a\u0e48\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32 StartUp\u00a0 Folder \u0e27\u0e48\u0e32\u0e2d\u0e22\u0e39\u0e48 \u0e13.\u0e17\u0e35\u0e48\u0e43\u0e14 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23 CSIDL_STARTUP \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e04\u0e48\u0e32\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a 7<br \/>\nGetFolder(0, @cSpecialFolderPath, CSIDL_STARTUP)<\/p>\n<p>?SubStr(RTrim(cSpecialFolderPath),1, Len(RTrim(cSpecialFolderPath))-1)<\/p>\n<p>CLEAR DLLS<br \/>\n** End Program<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 FindExecutable<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e41\u0e25\u0e49\u0e27\u0e41\u0e2a\u0e14\u0e07 Folder \u0e17\u0e35\u0e48\u0e44\u0e1f\u0e25\u0e4c\u0e19\u0e31\u0e49\u0e19\u0e46\u0e1a\u0e23\u0e23\u0e08\u0e38\u0e2d\u0e22\u0e39\u0e48<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: FindFile.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the SHELL32 **<br \/>\n** FindExecutable API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\nlpFile = &#8220;NOTEPAD.EXE&#8221;<br \/>\nlpDirectory = &#8221;<br \/>\nlpResults = SPACE(128)<\/span><\/p>\n<p>DECLARE INTEGER FindExecutable IN SHELL32 ;<br \/>\nSTRING@lpFile, STRING@lpDirectory, ;<br \/>\nSTRING @lpResults<\/p>\n<p>liReturnValue = FindExecutable(@lpFile, @lpDirectory,@lpResults)<br \/>\n* \u0e43\u0e19\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e17\u0e33\u0e01\u0e32\u0e23\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e41\u0e25\u0e49\u0e27\u0e44\u0e21\u0e48\u0e1e\u0e1a IiReturnValue \u0e08\u0e30\u0e21\u0e35\u0e04\u0e48\u0e32\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<br \/>\n* 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Out of memory or resources<br \/>\n* 31\u00a0\u00a0\u00a0 = No association for file type<br \/>\n* 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Specified file not found<br \/>\n* 3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Specified path not found<br \/>\n* 11\u00a0\u00a0\u00a0 = Invalid EXE format<br \/>\n?liReturnValue<br \/>\nlpResults = LEFT(lpResults, AT(CHR(0), lpResults) &#8211; 1)<\/p>\n<p>? &#8220;Full path of application: &#8221; + lpResults<\/p>\n<p>CLEAR DLLS<br \/>\n** End Program<\/p>\n<p><a name=\"\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 MessageBeep\"><\/a><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 MessageBeep<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e40\u0e2a\u0e35\u0e22\u0e19\u0e40\u0e15\u0e37\u0e2d\u0e19 \u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e01\u0e31\u0e1a \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 ? CHR(7) \u0e41\u0e15\u0e48\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e35\u0e48\u0e08\u0e30\u0e19\u0e33\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e08\u0e32\u0e01 Sound \u0e02\u0e2d\u0e07 Windows \u0e21\u0e32\u0e43\u0e0a\u0e49\u0e44\u0e14\u0e49<br \/>\n\u0e42\u0e14\u0e22\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e15\u0e48\u0e32\u0e07\u0e46\u0e04\u0e38\u0e13\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e19 Control Panel \u0e43\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e2d\u0e07 Sounds<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: Beep.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the WIN32API **<br \/>\n** MessageBeep API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n#DEFINE MB_OK 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&amp;&amp; Default Sound<br \/>\n#DEFINE MB_ICONHAND 16 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&amp;&amp; Certical Stop<br \/>\n#DEFINE MB_ICONQUESTION 32 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&amp;&amp; Question<br \/>\n#DEFINE MB_ICONEXCLAMATION 48\u00a0\u00a0\u00a0\u00a0\u00a0 &amp;&amp; Exclamation<br \/>\n#DEFINE MB_ICONASTERISK 64 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&amp;&amp; Asterisk<br \/>\nDECLARE INTEGER MessageBeep IN Win32API INTEGER<br \/>\n=MessageBeep(MB_OK)<br \/>\nCLEAR DLLS<br \/>\n** End Program<\/span><\/p>\n<p><a name=\"\u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07 Windows(Topmost Window)\"><\/a><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><strong>\u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07 Windows(Topmost Window)<\/strong><\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e43\u0e19\u0e2a\u0e21\u0e31\u0e22\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e22\u0e31\u0e07\u0e43\u0e0a\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 DOS \u0e40\u0e23\u0e32\u0e08\u0e30\u0e44\u0e21\u0e48\u0e04\u0e48\u0e2d\u0e22\u0e08\u0e30\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e2a\u0e31\u0e01\u0e40\u0e17\u0e48\u0e32\u0e44\u0e14 \u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e27\u0e48\u0e32\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e19\u0e31\u0e49\u0e19\u0e08\u0e19\u0e40\u0e2a\u0e23\u0e47\u0e08 \u0e41\u0e25\u0e49\u0e27\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e14\u0e31\u0e07\u0e01\u0e25\u0e48\u0e32\u0e27\u0e01\u0e48\u0e2d\u0e19 \u0e08\u0e36\u0e07\u0e08\u0e30\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e23\u0e35\u0e22\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e2d\u0e37\u0e48\u0e19\u0e46\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e44\u0e14\u0e49(\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e1d\u0e31\u0e07\u0e15\u0e31\u0e27) \u00a0 \u0e41\u0e15\u0e48\u0e1e\u0e2d\u0e21\u0e32\u0e16\u0e36\u0e07\u0e22\u0e38\u0e04\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e07\u0e32\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e46\u0e07\u0e32\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e46\u0e01\u0e31\u0e19 \u0e0b\u0e36\u0e48\u0e07\u0e01\u0e47\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e49\u0e2d\u0e14\u0e35\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e41\u0e15\u0e48\u0e1c\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e1e\u0e27\u0e01\u0e2b\u0e31\u0e27\u0e42\u0e1a\u0e23\u0e32\u0e13\u0e01\u0e47\u0e40\u0e25\u0e22\u0e2d\u0e22\u0e32\u0e01\u0e43\u0e2b\u0e49\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e35\u0e48\u0e1c\u0e21\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e14\u0e49\u0e27\u0e22 Visual FoxPro \u0e43\u0e0a\u0e49\u0e41\u0e15\u0e48\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e02\u0e2d\u0e07\u0e1c\u0e21\u0e08\u0e19\u0e01\u0e23\u0e30\u0e17\u0e31\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e42\u0e14\u0e22\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e37\u0e48\u0e19\u0e46\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22\u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19 Word , Excel \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19 \u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19\u0e08\u0e36\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e35\u0e48\u0e21\u0e32\u0e02\u0e2d\u0e07 \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e1c\u0e21\u0e08\u0e30\u0e19\u0e33\u0e40\u0e2a\u0e19\u0e2d\u0e2d\u0e22\u0e39\u0e48\u0e19\u0e35\u0e49<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e19\u0e33\u0e40\u0e2a\u0e19\u0e2d\u0e19\u0e35\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49 \u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07 Window \u0e40\u0e2a\u0e21\u0e2d (Topmost Window)<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e17\u0e33\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e32\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\n** Program: topwindow.prg **<br \/>\n** Purpose: Demonstrates how to declare and use the WIN32API **<br \/>\n** FindWindowA API. **<br \/>\n** SetWindowPos API. **<br \/>\n**&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;**<br \/>\nFUNCTION TOPWINDOW<br \/>\nPARA cCaption, lStatus<\/span><\/p>\n<p>DECLARE LONG FindWindowA IN WIN32API ;<br \/>\nSTRING class, ;<br \/>\nSTRING title<\/p>\n<p>DECLARE SetWindowPos IN WIN32API ;<br \/>\nLONG HWND, ;<br \/>\nLONG hwndafter, ;<br \/>\nLONG x, ;<br \/>\nLONG Y, ;<br \/>\nLONG cx, ;<br \/>\nLONG cy, ;<br \/>\nLONG flags<br \/>\nformhandle = 0<br \/>\nformhandle = FindWindowA(0,cCaption)<br \/>\nIF formhandle = 0<br \/>\n=MESSAGEBOX(&#8220;\u0e44\u0e21\u0e48\u0e1e\u0e1a window \u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23&#8221;)<br \/>\nELSE<br \/>\nswp_nosize = 1<br \/>\nswp_nomove = 2<br \/>\nhwnd_topmost = -1<br \/>\nhwnd_notopmost = -2<br \/>\nlretval=0<br \/>\nIF lStatus<br \/>\nlretval = SetWindowPos(formhandle,hwnd_topmost,;<br \/>\n0,0,0,0,swp_nosize+swp_nomove)<br \/>\nELSE<br \/>\nlretval = SetWindowPos(formhandle,hwnd_notopmost,;<br \/>\n0,0,0,0,swp_nosize+swp_nomove)<br \/>\nENDIF<br \/>\nENDIF<br \/>\nCLEAR DLLS<br \/>\nRETURN<\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e43\u0e2b\u0e49\u0e04\u0e38\u0e13\u0e1b\u0e49\u0e2d\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e17\u0e35\u0e48 Command Window<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">_Screen.MinButton=.F.<br \/>\n_Screen.MaxButton=.F.<br \/>\n_Screen.WindowState = 2<br \/>\n=TOPWINDOW(_Screen.Caption,.T.)<br \/>\n<\/span><span style=\"color: #ff0000; font-family: MS Sans Serif; font-size: small;\">* _Screen.Caption \u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Main Visual FoxPro Window<br \/>\n* \u0e43\u0e19\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2b\u0e32 window \u0e2d\u0e37\u0e48\u0e19\u0e46 \u0e01\u0e47\u0e43\u0e0a\u0e49 \u0e43\u0e0a\u0e49 caption \u0e02\u0e2d\u0e07 window \u0e19\u0e31\u0e49\u0e19\u0e46<\/span><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\"><br \/>\n<\/span><span style=\"color: #800080; font-family: MS Sans Serif; font-size: small;\">* \u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49 Task Bar \u0e44\u0e14\u0e49 \u0e43\u0e2b\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e1b\u0e47\u0e19 Auto Hide<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">\u0e43\u0e19\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14 topmost window \u0e01\u0e47\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/span><\/p>\n<p><span style=\"color: #000000; font-family: MS Sans Serif; font-size: small;\">=TOPWINDOW(_Screen.Caption,.F.)<\/span><\/p>\n<p>\u0e44\u0e27\u0e49\u0e08\u0e30\u0e19\u0e33\u0e21\u0e32\u0e25\u0e07\u0e43\u0e2b\u0e49\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e1a\u0e17\u0e48\u0e32\u0e19&#8230;..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Window API \u0e40\u0e1b\u0e47\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01\u0e0a\u0e19\u0e34\u0e14\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e17\u0e35\u0e48\u0e21\u0e35\u0e21\u0e32\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 Windows \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e01\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e41\u0e1e\u0e23\u0e48\u0e2b\u0e25\u0e32\u0e22\u0e43\u0e19\u0e02\u0e13\u0e30\u0e19\u0e35\u0e49 \u0e0b\u0e36\u0e48\u0e07\u0e01\u0e47\u0e04\u0e25\u0e49\u0e32\u0e22\u0e46\u0e01\u0e31\u0e1a\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e02\u0e2d\u0e07 Visual FoxPro \u0e2d\u0e31\u0e19\u0e17\u0e35\u0e48\u0e08\u0e23\u0e34\u0e07\u0e41\u0e25\u0e49\u0e27\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01\u0e15\u0e48\u0e32\u0e07\u0e46\u0e19\u0e31\u0e49\u0e19\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e21\u0e32\u0e01\u0e21\u0e32\u0e22\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19 Active X Control, \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e20\u0e32\u0e29\u0e32 C \u0e41\u0e25\u0e49\u0e27 Compile \u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1f\u0e25\u0e4c .DLL (Dynamic Link Library) , Visual FoxPro External Library \u0e44\u0e1f\u0e25\u0e4c .FLL \u00a0 \u0e0b\u0e36\u0e48\u0e07\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e17\u0e35\u0e48\u0e01\u0e25\u0e48\u0e32\u0e27\u0e21\u0e32\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e08\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e27\u0e48\u0e32 API (Application Programming Interface) \u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19 \u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e14\u0e49\u0e27\u0e22\u0e2b\u0e23\u0e37\u0e2d\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Window API ? \u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e07\u0e32\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e02\u0e36\u0e49\u0e19\u0e19\u0e31\u0e49\u0e19\u0e40\u0e23\u0e32\u0e44\u0e21\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e02\u0e2d\u0e07 Window API \u0e01\u0e47\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e1b\u0e0e\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23 \u0e04\u0e38\u0e13\u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e48\u0e32\u0e07\u0e46\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e21<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13],"tags":[],"class_list":["post-25411","post","type-post","status-publish","format-standard","hentry","category-13"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6cOVM-6BR","_links":{"self":[{"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=\/wp\/v2\/posts\/25411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25411"}],"version-history":[{"count":5,"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=\/wp\/v2\/posts\/25411\/revisions"}],"predecessor-version":[{"id":25439,"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=\/wp\/v2\/posts\/25411\/revisions\/25439"}],"wp:attachment":[{"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tom.tomwork.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}