Я столкнулся с проблемой в моем 32-битном ПК с windows7 (на i3). У меня Outlook 2010 и Delphi 7 на нем.Я использую следующий код, чтобы определить, работает Outlook или нет.
ClassID := ProgIDToClassID(ClassName);
Result := (GetActiveObject(ClassID, nil, Unknown) = S_OK);
Это не удается, т. Е. Результат становится ложным, но на других компьютерах это работает нормально.
Ошибка Яполучение MK_E_Unavailable.
Обновление:
Может быть, это происходит только со мной.
procedure TForm1.Button1Click(Sender: TObject);
function IsObjectActive(ClassName: string): Boolean;
var
ClassID: TCLSID;
Unknown: IUnknown;
begin
try
ClassID := ProgIDToClassID(ClassName);
Result := (GetActiveObject(ClassID, nil, Unknown) =S_OK );
except
Result := False;
end;
end;
begin
if IsObjectActive('Outlook.Application') Then
ShowMessage('OutLook is there.')
else
ShowMessage('OutLook is not there.')
end;
Plz note OL работает и
- Когда я запускаю созданный exe-файл, я получаю сообщение «OutLook is there».
- , когда я запускаю из Delphi IDE, я получаю сообщение «OutLook is not there.»
Это происходит всегда, я использую Delphi 7 в Windows 7, работаю с Run as Admin.Пожалуйста, скажите мне, почему это происходит и как я могу это исправить.
В чем проблема Delphi 7 в Windows 7.
Пожалуйста, предложите.