मेरे विंडोज 7 सिस्टम पर, GetVersionEx विंडोज एपीआई फ़ंक्शन "6.0" देता है, जो Windows Vista को इंगित करता है, जब यह should "6.1" लौटाता है।GetVersionEx विंडोज 7 पर काम नहीं कर रहा है?
अगर यह मायने रखती है, मैं निम्नलिखित डेल्फी कोड का इस्तेमाल किया:
function winver: string;
var
ver: TOSVersionInfo;
begin
ver.dwOSVersionInfoSize := SizeOf(ver);
if GetVersionEx(ver) then
with ver do
result := IntToStr(dwMajorVersion) + '.' + IntToStr(dwMinorVersion) + '.' + IntToStr(dwBuildNumber) + ' (' + szCSDVersion + ')';
end;
और स्ट्रिंग "6.0.6002 (सर्विस पैक 2)" वापस आ गया था।
क्या यह बेहद अजीब नहीं है?
डेल्फी 200 वास्तव में पुराना नहीं है ... –
आपको यह भी याद रखना होगा कि यदि आप बाल प्रक्रिया बना रहे हैं, उदाहरण के लिए Vista Vista SP2 के साथ कॉमेटिबिलिटी सेट की है, तो उस बच्चे की प्रक्रिया भी उस व्यवहार को प्राप्त करेगी। उदाहरण: आप कॉम्पटिबिलिटी VistaSP2 के साथ टोटल कमांडर का उपयोग कर रहे हैं, तो टीसी द्वारा शुरू की गई प्रत्येक प्रक्रिया Vista Vista2 संगतता का भी उपयोग करेगी। – kibab
अब मुझे पता चला है कि जब मेरा एप्लिकेशन डेल्फी 200 डीबगर के माध्यम से चलता है तो GetVersionEx Vista देता है, लेकिन विंडोज 7 जब एप्लिकेशन को अकेले निष्पादित किया जाता है। –