Quantcast
Channel: NetOffice - MS Office in .NET
Viewing all articles
Browse latest Browse all 1741

Commented Unassigned: Cannot get HWND of a PowerPoint SlideShow window [21837]

$
0
0
Hi,

I migrated my WPF app from PIA v14 to NetOffice. I have problem with getting HWND (window handle) from PowerPoint. It was working on PIA v14, but when I try to access to __ppPresentation.SlideShowWindow.HWND__ property (ppPresentation is my PowerPoint presentation opened as SlideShow) with NetOffice, exception __"Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))"__ is thrown. How I can get handle to SlideShow window using NetOffice? Other functiomns works ok.
Comments: ** Comment from web user: DominikPalo **

I created this workaround:

```
private IntPtr GetSlideShowWindowHandle(string fileName)
{
Process[] ppProcesses = Process.GetProcessesByName("POWERPNT");

var ppSlideShowProcess = ppProcesses.FirstOrDefault((p) => {
return p.MainWindowHandle != IntPtr.Zero && p.MainWindowTitle.Contains("[" + fileName);
});

return ppSlideShowProcess == null ? IntPtr.Zero : ppSlideShowProcess.MainWindowHandle;
}
```

which searches for correct window handle by comparing titles of all opened windows owned by PowerPoint with string "[MyPresentationFileName" - every SlideShow window contains [MyPresentationFile] or [MyPresentationFileName.extension] in title.

But I think it would be more reliable to use SlideShowWindow.HWND property (which works without problems with PIA and returns correct HWND)


Viewing all articles
Browse latest Browse all 1741

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>