[VB.NET]使用Win32 API擷取滑鼠游標位置的顏色
要使用Win32 API擷取滑鼠游標位置的顏色,主要可分為三個步驟: 呼叫GetDC API取得畫布 呼叫GetPixel API取得畫布上指定位置的像素 呼叫ReleaseDC API釋放畫布 ...
要使用Win32 API擷取滑鼠游標位置的顏色,主要可分為三個步驟: 呼叫GetDC API取得畫布 呼叫GetPixel API取得畫布上指定位置的像素 呼叫ReleaseDC API釋放畫布 ...
要做Win32 Color與.NET Color的互轉,可以自行轉換,也可以透過.NET Framework內建的ColorTranslator類別來做轉換。 ...
函式原型 VOID WINAPI mouse_event( __in DWORD dwFlags, __in DWORD dx, __in DWORD dy, __in DWORD dwData, __in ULONG_PTR dwExtraInfo ); ...
若直接把集合類別繫結至DataGridView。 ...
Introduction 使用SuppressIldasmAttribute可為自己開發的組件加上一層簡單的防護,該防護動作只對MSIL反組譯工具(Ildasm.exe)有效,對於Reflector則無任何的防護效果。值得注意的是,該防護是非常簡單的防護,很輕鬆的就可以把該防護給拿掉,因此不建議單純靠這屬性來保護組件。 ...
Namespace System.Security Framework 2.0 or Latter SecureString SecureString是.NET 2.0開始提供的加密字串類別,為一較安全的字串處理類別,適合用以保存較為機密或是較為敏感的字串。 SecureString內部使用DPAPI對記憶體作加密的動作,存入的資料會自動進行加密的動作,甚至可以使用MakeReadOnly方法讓物件執行個體設為唯讀狀態,避免被進一步修改。 在記憶體層級的保護上,對於該物件執行個體所使用的記憶體會被禁止作複製的動作(除非自行呼叫複製)。 ...
今天在撰寫控制項的KeyPress事件,由於事件的參數無法點出Keys直接比對,做了一些轉換動作,這邊紀錄一下: ...
GetErrorMsgs擴充方法可找出介面上所有有用ErrorProvider顯示的錯誤訊息,HasError可以判斷介面上是否有任何用ErrorProvider顯示的錯誤訊息,程式碼如下: ...
記得在[VB.NET].NET多語系程式(四) - 已開啟表單的語系切換這篇提過兩種已開啟表單的語系切換方法,一種是透過遞迴搭配ComponentResourceManager,一種是把元件移除後再呼叫InitializeComponent。這兩種方法在一般表單下運作良好,但在MDI表單上使用就必須特別的留意。 先讓我們來看一下在MDI表單上使用會發生的問題。這邊使用內建的MDI Parent,在其工具列上放了兩個按鈕,分別對應上面提到的兩個切換語系的寫法。 接著建立要拿來開啟的MDI子表單,其上放了個測試用的選單選項,設好其選單選項的合併設定與中文語系要顯示的字串,並跟MDI主表單一樣也放置兩個切換語系按鈕。 當子表單被叫起時,子表單的選單選項就會被合併至主表單的選單上。 在切換語系時就會發現第一種切換語系的方法,不論在子視窗抑或是在主視窗都無法使用。而第二種切換語系的方法,則是在主視窗切換會把所有子視窗都關閉,在子視窗切換會有錯誤的結果。 會有這樣的現象,是因為子視窗選單選項被主視窗合併,導致子視窗選單找不到任何選單選項,而主視窗選單雖然找的到子視窗的選單選項,卻不知道他是子視窗的選單選項。就算知道,該選單選項的資源也不在主視窗上。目前知道的解法就是讓選單先離開合併狀態,切換語系後再合併選單。 ...
相信大家都看過甚至用過密碼顯示工具,其原理Rico大[C#][WinForm]擺脫密碼透視小工具這篇已經把概念給帶出來了,主要是要過濾WM_GETTEXT與WM_SETTEXT兩個訊息(WM_SETTEXT過濾的原因不詳,這邊直接沿用),但除了取得密碼外,也有的工具是可以讓密碼直接顯示的,那要怎摸做呢?很簡單,其實密碼框是透過設定EM_SETPASSWORDCHAR屬性來達到用星號隱藏密碼的效果,因此我們只要利用PostMessage把密碼框的EM_SETPASSWORDCHAR屬性給取消即可,簡易的程式如下。 _ Private Shared Function WindowFromPoint(ByVal Point As Point) As IntPtr End Function ...