{"id":741,"date":"2008-05-25T02:16:04","date_gmt":"2008-05-25T02:16:04","guid":{"rendered":"http:\/\/6teen.ru\/?p=394"},"modified":"2008-05-25T02:16:04","modified_gmt":"2008-05-25T02:16:04","slug":"8157-2","status":"publish","type":"post","link":"http:\/\/pblog.ru\/lab\/?p=741","title":{"rendered":"\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e Windows"},"content":{"rendered":"<p>\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e Windows<br \/>\n<!--more--><\/p>\n<pre class=\"alt2\" style=\"margin:0px; padding:6px; border:1px inset; width:580px; height:320px; overflow:auto\"><div>\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e Windows\n\n\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e windows? \u0421\u043f\u043e\u0441\u043e\u0431 1\ntype tosversion=(osunknown, osunknown9x, osunknownnt, oswin95, oswin98, oswin98se, oswinme, oswinnt, oswin2000, osxp);\n\nfunction getosversion : tosversion;\nvar osverinfo : tosversioninfo;\nmajorver, minorver : integer;\nbegin\nresult := osunknown;\nosverinfo.dwosversioninfosize := sizeof(tosversioninfo);\nif getversionex(osverinfo) then\nbegin\nmajorver := osverinfo.dwmajorversion;\nminorver := osverinfo.dwminorversion;\ncase osverinfo.dwplatformid of\nver_platform_win32_nt :\ncase majorver of\n4:result := oswinnt;\n5:if minorver=0 then result := oswin2000 else\nif minorver=1 then result := osxp else result := osunknownnt;\nelse result := osunknownnt;\nend; {case majorver of}\nver_platform_win32_windows :\ncase majorver of\n4: case minorver of\n0:result := oswin95;\n10: if osverinfo.szcsdversion[1] = 'a' then result := oswin98se else result := oswin98;\n90: result := oswinme;\nelse result := osunknown9x;\nend;{case minorver of}\nelse result := osunknown9x;\nend{case majorver of}\nelse result := osunknown;\nend;{case osverinfo.dwplatformid of}\nend;{if getversionex(osverinfo) then}\nend;\n\nprocedure tform1.button1click(sender: tobject);\nbegin\ncase getosversion of\nosunknown: showmessage('unknown');\noswin95: showmessage('win95');\noswin98: showmessage('win98');\noswin98se: showmessage('win98se');\noswinme: showmessage('winme');\noswinnt: showmessage('winnt');\noswin2000: showmessage('win2000');\nosxp: showmessage('xp');\nend;\nend;\n\n****************************************************************************************************\n\n\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e windows? \u0421\u043f\u043e\u0441\u043e\u0431 2\nprocedure tform1.winver;\nvar winv: word;\nbegin\nwinv := getversion and $0000ffff;\nedit6.text := inttostr(lo(winv))+'.'+inttostr(hi(winv));\nend;\n\n\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0434\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 - 4.10\n\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e - 4.10.222\n\n*****************************************************************************************************\n\n\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e windows? \u0421\u043f\u043e\u0441\u043e\u0431 3\n\n\u0412\u043e\u0442 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043c\u0435\u0440. \u041c\u043d\u0435 \u043e\u043d \u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e. \u042f \u0435\u0433\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445. \u041e\u043d \u0433\u0438\u0431\u043a\u0438\u0439 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.\n\n{\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442}\nfunction getwindowsversion1: string;\nfunction whatwindowsisinstalled : string;\nconst\nver_nt_workstation = 0;\nver_nt_domain_controller = 1;\nver_nt_server = 2;\nver_suite_smallbusiness = 1;\nver_suite_enterprise = 2;\nver_suite_backoffice = 4;\nver_suite_communications = 8;\nver_suite_terminal = $10;\nver_suite_smallbusiness_restricted = $20;\nver_suite_embeddednt = $40;\nver_suite_datacenter = $80;\nver_suite_singleuserts = $100;\nver_suite_personal = $200;\nver_suite_blade = $400;\ntype\ntosversioninfoexa = packed record\nold : tosversioninfoa;\nwservicepackmajor : word;\nwservicepackminor : word;\n{\nwsuitemask\n\u041d\u0430\u0431\u043e\u0440 \u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u0444\u043b\u0430\u0433\u043e\u0432, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b windows\nver_suite_backoffice \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 microsoft backoffice.\nver_suite_blade \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 windows .net web server.\nver_suite_datacenter \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 windows 2000 \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 windows .net\ndatacenter server\nver_suite_enterprise \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 windows 2000 advanced server \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\nwindows .net enterprise server.\nver_suite_personal \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 windows xp home edition.\nver_suite_smallbusiness \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d microsoft small business server.\nver_suite_smallbusiness_restricted \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d microsoft small business\nserver \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432\nver_suite_terminal \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 terminal services.\n}\nwsuitemask : word;\n{wproducttype \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0438\u043f\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\nver_nt_workstation \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 windows nt 4.0 workstation,\nwindows 2000 professional,\nwindows xp home edition, \u0438\u043b\u0438\nwindows xp professional.\nver_nt_domain_controller \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0434\u043e\u043c\u0435\u043d\u0430.\nver_nt_server \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c.\n}\nwproducttype : byte;\nwreserved : byte;\nend;\n...\n\n{\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f}\nfunction whatwindowsisinstalled : string;\nvar verinfo : tosversioninfoexa;\nbegin\nfillchar(verinfo, sizeof(verinfo), 0);\nverinfo.old.dwosversioninfosize := sizeof(tosversioninfoexa);\nif not getversionexa(verinfo.old) then\nbegin\nverinfo.old.dwosversioninfosize := sizeof(tosversioninfoa);\ngetversionexa(verinfo.old);\nend;\ncase verinfo.old.dwplatformid of\nver_platform_win32_windows:\nif (verinfo.old.dwmajorversion = 4) and\n(verinfo.old.dwbuildnumber = 950) then result := 'windows 95' else\nif (verinfo.old.dwmajorversion = 4) and\n(verinfo.old.dwminorversion = 10) and\n(verinfo.old.dwbuildnumber = 1998) then result := 'windows 98' else\nif (verinfo.old.dwminorversion = 90) then result := 'windows me';\nver_platform_win32_nt:\nif verinfo.old.dwmajorversion = 3 then result := 'windows nt 3.51' else\nif verinfo.old.dwmajorversion = 4 then result := 'windows nt 4.0' else\nif verinfo.old.dwmajorversion = 5 then\nif verinfo.old.dwminorversion = 0 then result := 'windows 2000' else\nif verinfo.old.dwminorversion = 1 then result := 'windows xp';\nver_platform_win32s: result := 'win32s';\nend;\nend;\n\nfunction getwindowsversion1: string;\n{$ifdef win32}\nconst swindowsversion = '%.3d';\nvar\nver: tosversioninfo;\nplatform: string[4];\nbegin\nver.dwosversioninfosize := sizeof(ver);\ngetversionex(ver);\nwith ver do begin\ncase dwplatformid of\nver_platform_win32s: platform := '32s';\nver_platform_win32_windows:\nbegin\ndwbuildnumber := dwbuildnumber and $0000ffff;\nif (dwmajorversion > 4) or ((dwmajorversion = 4) and (dwminorversion >= 10)) then platform := '98'\nelse platform := '95';\nend;\nver_platform_win32_nt: platform := 'nt';\nend;\nresult := trim(format(swindowsversion, [dwbuildnumber]));\nend;\nend;\n{$else}\nconst\nswindowsversion = 'windows%s %d.%d';\nsnt: array[boolean] of string[3] = ('', ' nt');\nvar\nver: longint;\nbegin\nver := getversion;\nresult := format(swindowsversion, [snt[not boolean(hibyte(loword(ver)))],\nlobyte(loword(ver)), hibyte(loword(ver))]);\nend;\n{$endif win32}\n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0437\u043e\u0432\u0430\nlabel1.caption := whatwindowsisinstalled+' (build '+getwindowsversion1+')';\n\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a:\nhttp:\/\/ogoncharenko.narod.ru\n<\/div><\/pre>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e Windows<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[431,449],"tags":[603,1237,913],"_links":{"self":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/741"}],"collection":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=741"}],"version-history":[{"count":0,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=\/wp\/v2\/posts\/741\/revisions"}],"wp:attachment":[{"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=741"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pblog.ru\/lab\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}