Win32 ์ฐฝ ํธ๋ค(์: Microsoft Word, Excel ๋๋ Outlook์์)์ TaskDialog.ShowDialog()
์ ์ ๋ฌํ๊ณ ์ถ์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ private
#$ ๋์ TaskDialog.ShowDialog(IntPtr owner)
public
๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์ public
๋ก ๋ง๋๋ ๊ฒ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ์ญ๋๊น? ์ํ์ ๋ค๋ฉด PR์ ํด๋๋ฆด ์ ์์ต๋๋ค.
๊ฐ์ฌ ํด์!
@mu88 ๋ , ์์น์ ์ผ๋ก GetActiveWindow
๊ฐ ์๋ชป๋ ์ฐฝ IntPtr
์ ๋ํ ํธ๋ค์ ๋ฐํํ๋ ์๋๋ฆฌ์ค๊ฐ ์๋ ๊ฒฝ์ฐ ํด๋น ๋ณ๊ฒฝ์ ๋ํด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
Excel ์ถ๊ฐ ๊ธฐ๋ฅ ๋๋ ์ด์ ์ ์ฌํ ๋ด์์ TaskDialog๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
๊ทธ๋ ๋ค๋ฉด null
๋ฅผ Task.ShowDialog(Window)
์ ์ ๋ฌํ๋ฉด ์๋ชป๋ ์์ ์ ํธ๋ค์ ์ป์ต๋๊น?
@augustoproiete , ๋นจ๋ฆฌ ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
WPF ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ ์ค์
๋๋ค. ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ COM์ ํตํด Excel๊ณผ ํต์ ํ๊ณ Process.MainWindowHandle
$๋ฅผ ํตํด Excel์ ์ฐฝ ํธ๋ค์ IntPtr
๋ก ๊ฒ์ํฉ๋๋ค. ์ด์ Excel ๋ด์์ ์ฌ์ฉ์ ์ ์ TaskDialog
๋ฅผ ํ์ํ๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ํ ์์์ ์์ ์๋ Excel์ ์ฐฝ ํธ๋ค์ด์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ Excel์ด WPF๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ ์ ์ญํ ์ ํ ์ ์๋ WPF ์ฐฝ์ด ์์ต๋๋ค.
๋ฆฌํ๋ ์
์ ํตํด private TaskDialogButton ShowDialog(IntPtr owner)
๋ฅผ ํธ์ถํ์ฌ ์๋ํ๊ณ ๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค.
์ ๋ค๋ฆฐ๋ค. ๊ทธ๋ PR์ ํ์๋ฉด ๋ฉ๋๋ค.
์ผ๊ด์ฑ์ ์ํด ๋ค๋ฅธ ๋ํ ์์์๋ ๋์ผํ ๊ณผ๋ถํ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ฒฝ์ฐ ๋ณด๋์ค ํฌ์ธํธ.
๋ค, ์ด PR์ ์ฐธ์ฌํ๊ฒ ์ต๋๋ค.
#19๋ฅผ ํตํด ํ์
NuGet, @augustoproiete ์ ์ ๋ฒ์ ์ ๋ง๋ค ์ ์์ต๋๊น?
๋ฌผ๋ก ์ ๋๋ค @mu88. ๋ด์ผ ์ ๋ ๊น์ง nuget.org์ ์ ๋ฒ์ ์ ํธ์ํ๊ฒ ์ต๋๋ค.
@mu88 NuGet ํจํค์ง๊ฐ nuget.org์ ๊ฒ์๋จ - https://www.nuget.org/packages/Ookii.Dialogs.Wpf/1.2.0
@augustoproiete ๊ฐ์ฌํฉ๋๋ค! ์ ํจํค์ง๋ฅผ ํตํฉํ๋๋ฐ ๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค ๐ฅณ