[C#] Winform 抓取所有開啟的Internet Explorer 開啟的網頁,並且抓到那網頁的原始碼

2017-05-19

根據上篇文章 [C#] 透過 Win32 EnumWindows 和 GetWindowText 取得所有執行程式的hWnd還有標題 我們來抓取到開啟的應用程式,這一篇我們繼續聊聊,抓到開啟的IE 並且抓取開啟網頁的原始碼,其中抓取到IE  的hWnd的部分,可以參考[C#] 透過 Win32 EnumWindows 和 GetWindowText 取得所有執行程式的hWnd還有標題 這篇文章,結果的畫面是長這樣
Image 002


[C#] 透過 Win32 EnumWindows 和 GetWindowText 取得所有執行程式的hWnd還有標題

筆記一下,基本上這一陣陣子都在弄一些視窗程式,至於程式碼從哪邊來的,我也忘記了,很有可能來自於stackoverflow 大家可以透過關鍵字去找找看,主要是紀錄一下,關鍵的地方也不完全是我寫的,主要的目的就是抓到所有執行中的程式並且把他的視窗title印出來,這樣可以拿來判斷那程式的hWnd 會有助於之後你要對他進行一些win32 的操控,我想這是第一步。

畫面:
image


[WinForm] mshtml.dll 引入錯誤(請確定這是一個可存取的檔案,而且是一個有效的組件或COM元件)

最近又開始在寫關於winform 的東西,主要是操控webbrowser control ,其中你看許多文件應該需要他叫你你去引入 Windows –> System 32 中的 mshtml.dll ,但是我每次引入都會出現

image所以這邊提供一下 DLL ,可以正常引入


[C#] Winform 偵測使用者按下關閉並且執行某行為

2017-05-05

最近因為公司專案要碰一些比較老的技術,遇到一個問題可以筆記一下,就是按下右上方關閉的時候或是呼叫FORM 的  this.Close(); 的時候如何跳出視窗確定是否關閉,或是執行其他function

很簡單就是對form 本身的 FormClosing 事件加入下列程式碼:

            if (e.CloseReason == CloseReason.UserClosing)
            {
                var res = MessageBox.Show("是否關閉?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (res != DialogResult.Yes)
                {
                    e.Cancel = true;
                }
            }

其中重點就是 CloseReasion 其實他還有很多判斷的選項 ,詳細內文在這邊:

image

文件位置: https://msdn.microsoft.com/zh-tw/library/system.windows.forms.closereason(v=vs.110).aspx

很簡單,筆記一下。


當麻許的超技八 2014 | Donma Hsu Design.