سؤال

أنا أحرص على التحقق من الصحة في برنامج تشغيل Inno Setup الخاص بي للتحقق من تثبيت Microsoft Update على الجهاز أم لا، وإذا لم يكن كذلك، فأنا أظهر مربع رسالة بسيطة يخبر المستخدم بأن التحديث مطلوب، وهذا هو رمز الرسالة في

MsgBox(
  'Your system requires an update supplied by Microsoft. ' +
  'Please follow this link to install it: ' + 
  'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en',
  mbInformation, MB_OK);

أريد أن أجعل عنوان URL ارتباط تشعبي إلى صفحة الويب، لكنني لم أتمكن من معرفة كيفية ذلك، فمن الممكن في إعداد Inno لإضافة نص كعبر تشعبي؟

شكرا.

هل كانت مفيدة؟

المحلول

ال MsgBox() وظيفة في برنامج إعداد Inno هو غلاف للنوافذ القياسية MessageBox() وظيفة، التي لا تدعم AFAIK الروابط المضمنة، لذلك لا يمكن ببساطة إظهار الرابط هناك.

ما يمكن أن تفعله هو إخطار المستخدم بأن التحديث مطلوب، واطلب منهم سواء افتح الرابط في المتصفح الافتراضي. شيء مثل:

function InitializeSetup(): Boolean;
var
  ErrCode: integer;
begin
  if MsgBox('Your system requires an update supplied by Microsoft. Would you like to visit the download page now?', mbConfirmation, MB_YESNO) = IDYES
  then begin
    ShellExec('open', 'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en',
      '', '', SW_SHOW, ewNoWait, ErrCode);
  end;
  Result := False;
end;

سيقوم هذا الرمز بإحباط التثبيت، ولكن يمكنك إنشاء صفحة مخصصة بدلا من ذلك يتحقق ما إذا كان قد تم تثبيت التحديث، وإلا يمنع التنقل إلى الصفحة التالية. هذا لن يعمل إلا إذا كان يمكن تثبيت التحديث بدون إعادة تشغيل نظام، على الرغم من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top