في مجال تطوير البرمجيات، غالبًا ما يصبح من الضروري استرداد معلومات الإصدار المرتبطة بمكتبات الارتباط الديناميكي ( DLLs) والبرامج القابلة للتنفيذ (EXEs). من خلال استخدام واجهات برمجة تطبيقات Win32 الأصلية التي يمكن الوصول إليها من خلال C أو C، يمكن للمطورين الحصول بسلاسة على إصدارات المنتج والملفات لهذه الكيانات القابلة للتنفيذ.
مفتاح فتح معلومات الإصدار يكمن في GetFileVersionInfo API. تقوم هذه الوظيفة القوية بملء مخزن مؤقت بالبيانات المتعلقة بملف DLL أو EXE المحدد. دعونا نتعمق في تعقيدات استخدامه:
الكود التالي يوضح النموذج التطبيق العملي لواجهة برمجة تطبيقات GetFileVersionInfo:
DWORD verHandle = 0;
UINT size = 0;
LPBYTE lpBuffer = NULL;
DWORD verSize = GetFileVersionInfoSize(szVersionFile, &verHandle);
if (verSize != NULL) {
LPSTR verData = new char[verSize];
if (GetFileVersionInfo(szVersionFile, verHandle, verSize, verData)) {
if (VerQueryValue(verData, "\\", (VOID FAR * FAR *)&lpBuffer, &size)) {
if (size) {
VS_FIXEDFILEINFO *verInfo = (VS_FIXEDFILEINFO *)lpBuffer;
if (verInfo->dwSignature == 0xfeef04bd) {
// Parse the file version into a four-part dotted string
TRACE("File Version: %d.%d.%d.%d\n",
(verInfo->dwFileVersionMS >> 16) & 0xffff,
(verInfo->dwFileVersionMS >> 0) & 0xffff,
(verInfo->dwFileVersionLS >> 16) & 0xffff,
(verInfo->dwFileVersionLS >> 0) & 0xffff
);
}
}
}
}
delete[] verData;
}
في الختام، توفر واجهة برمجة تطبيقات GetFileVersionInfo حلاً شاملاً للحصول على معلومات الإصدار برمجيًا من ملفات DLL وEXEs. ومن خلال الاستفادة من هذه الوظيفة، يمكن للمطورين أتمتة مهام استرجاع الإصدارات، مما يضمن الدقة والكفاءة في مساعي تطوير البرامج الخاصة بهم.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3