Не может создать несколько экземпляров PowerPoint

Я работаю над проектом, где я должен использовать PowerPoint от C#.net. Первоначально, я всегда создавал один единственный экземпляр. На сегодняшний день я хотел бы иметь, несколько инстанцируют выполнение. Я делаю это как так:

Type powerpointType = Type.GetTypeFromProgID("PowerPoint.Application");

object instance1 = Activator.CreateInstance(powerpointType);
object instance2 = Activator.CreateInstance(powerpointType);

но когда я прошу дескриптор обоих экземпляров путем вызова

hwnd = (int)powerpointType.GetProperty("HWND").GetValue(instance1, null);

затем я получаю тот же дескриптор дважды. Мое заключение состоит в том, что приложение запущено только однажды, и TaskManager comfirms что: Только один процесс.

Каким образом существует только один экземпляр выполнения PowerPoint, и как я могу заставить его работать?

5
задан Excel20 6 March 2010 в 17:42
поделиться

4 ответа

Вместо нескольких экземпляров, почему бы не ссылаться на несколько открытых презентаций в одном экземпляре?

Когда пользователь "Выходит из колонки", вы можете просто закрыть эту презентацию, но оставить PPT открытой, если только это не последняя открытая презентация.

4
ответ дан 13 December 2019 в 22:06
поделиться

PowerPoint и Word используют один и тот же экземпляр. С другой стороны, Excel позволяет иметь несколько экземпляров. Чтобы запустить два экземпляра, вам необходимо запустить другой экземпляр как другой пользователь.

Зачем вам нужно несколько экземпляров? Чтобы показать две презентации на двух мониторах?

2
ответ дан 13 December 2019 в 22:06
поделиться

Судя по вашему комментарию Микаэлю, есть другое решение. Это VBA, но его легко переносить на C #. Просто откройте презентацию (скрытую) и экспортируйте каждый слайд как PNG. Затем вы можете отобразить эти PNG в своем столбце.

Dim ap As Presentation
Set ap = Presentations.Open(FileName:="yourppt.pptx", WithWindow:=msoFalse)
Dim s As Slide
For Each s In ap.Slides
    s.Export s.Name, "PNG"
Next

Затем, когда кто-то что-то щелкает, первое из них может закрыться, а ваш новый PPT может отображаться.

1
ответ дан 13 December 2019 в 22:06
поделиться

В этой ссылке обсуждается, как использовать новую учетную запись пользователя для создания нескольких экземпляров PowerPoint. Он отлично работает, если вы всегда запускаете его на одном компьютере, но его нелегко распространять.

4
ответ дан 13 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: