私はWPFアプリケーションにPowerPoint Viewer 2007を埋め込みしようとしています。私は、プロセスを使用してファイルを指定してビューアを起動し、SetParentとそのようなWinAPIコマンドを使用してアプリケーションウィンドウに配置しました。しかし、私のアプリケーションウィンドウがフルスクリーンではなく、残念なことにPowerPointビューアが常にフルスクリーンで起動するため、アプリケーションウィンドウ内のスライドショーは常に部分的に削除されます。どのようにスライドショーのサイズを変更して、自分のウィンドウにうまく表示されるか考えてみましょうか?WinAPIを使用してWPFアプリケーション内のPowerpoint Viewerのサイズを変更
ここまでは、私のコードです。
Process proc = Process.Start(new ProcessStartInfo(){ FileName = "C:\\Program Files\\Microsoft Office\\Office12\\PptView.exe", Arguments="/S" + "\"" + "C:\\Test.ppt" + "\"", WindowStyle=ProcessWindowStyle.Minimized});
System.Threading.Thread.Sleep(1000);
SetParent(proc.MainWindowHandle, myWindowHandle);
SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
SetWindowPos(proc.MainWindowHandle, (IntPtr)0, 0, 0, 800, 600, SWP_FRAMECHANGED);
InvalidateRect(myWindowHandle, IntPtr.Zero, false);
誰かが助けてくれることを願っています。ありがとうたくさん...
返信いただきありがとうございます。私は前にそのアプローチを試みた、位置は移動したが、サイズと同じ問題。子ウィンドウ(パワーポイントビューア)は800x600にリサイズされますが、ビューア内のスライドショーはそれに応じてサイズ変更されます。その結果、スライドショーは右と下から切り取られました。私ができることを意味するイメージを投稿したいですが、私は新しいユーザーです。 :Pあなたが私の意味を理解してくれることを願っています。 :) – bbdaffy
@bbdaffy私はWPFアプリケーションでPPTファイルを表示しようとしています。あなたの問題を解決しましたか?ありがとう – Meirion