2012-01-04 7 views
1

私は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); 

誰かが助けてくれることを願っています。ありがとうたくさん...

答えて

0

MoveWindow(proc.MainWindowHandle、0、0、800、600、true);を試してみませんか?私はこれに似たようなことをしているが、Wordでは問題があった。 SetWindowPosは私が望む場所に画面を配置しませんでした。

+0

返信いただきありがとうございます。私は前にそのアプローチを試みた、位置は移動したが、サイズと同じ問題。子ウィンドウ(パワーポイントビューア)は800x600にリサイズされますが、ビューア内のスライドショーはそれに応じてサイズ変更されます。その結果、スライドショーは右と下から切り取られました。私ができることを意味するイメージを投稿したいですが、私は新しいユーザーです。 :Pあなたが私の意味を理解してくれることを願っています。 :) – bbdaffy

+0

@bbdaffy私はWPFアプリケーションでPPTファイルを表示しようとしています。あなたの問題を解決しましたか?ありがとう – Meirion

関連する問題