[C#] Winform 同一支App裡面不同的視窗有不同的Process (1)

2017-06-14

最近碰到一個專案,有一個需求,就是在Form 裡面,我設定為 IsMdiContainer 為 true ,裡面當然就是放一些MdiWindow ,這邊就不贅述,但是目的就是要達到每一個打開的視窗都是獨立的 Process 而且當掉了不會取影響到其他的視窗,這時候就麻煩了,到底要怎麼做到打開的視窗不去影響到其他的視窗,當然解決方法我相信還有其他的方法,這邊就先不討論,這案例做完大概會長得像是這樣:
Image 029
我程式名稱為 MutiProcessWindows 然後因為我裡面開了兩個子視窗,所以總共會有3個Process。


[Javascript] CodeMirror - 折合程式碼(fold gutters)

2017-06-13

之前寫過幾篇關於CodeMirror 的文章,CodeMirror - html+javascript 混和顯示+自動高度增加 還有 分享一個好用的Javascript Library - CodeMirror ,今天我們要筆記一下關於如何做到收合一些程式碼,結果像是這樣
Image 020


[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.