2013-09-17 7 views
1

Итак, у меня есть следующий код и в любое время он называется, он появляется за всем остальным. Кто-нибудь знает, как я могу убедиться, что это приглашение появляется на фронте каждый раз?Диалоговое окно InstallShield AskYesNo появляется за всем

sPromptA = "Question that is asked to user"; 

MODE = NORMALMODE; 

if (NO = AskYesNo(sPromptA, NO)) then 
    MODE = SILENTMODE; 
+0

Какая версия Windows, вы используете? Я вижу, что это проблема с 8.1, а не с 8.0 или Win7, хотя ... может быть, я ошибаюсь, хотя – JohnZaj

+0

На самом деле это происходит в большинстве версий Windows. Vista, 7, XP, но я не думаю, что попробовал это на 8. – Sam

ответ

1

Вы можете работать вокруг этого:

HWND hRecord; 
sMsg = "my message"; 

hRecord = MsiCreateRecord(1); 
MsiRecordSetString(hRecord, 0, sMsg); 
nYesNoResult = MsiProcessMessage(hMSI, INSTALLMESSAGE_USER + MB_YESNO, hRecord); 
MsiCloseHandle(hRecord); 

if (nYesNoResult = 6) then //6=yes 7=no 
    //do something 
endif; 
Смежные вопросы