發表文章

Ubuntu 11.04 的點點滴滴 [更新 14.10 Unity systray-whitelist 設定]

圖片
Ubuntu 11.04 採用新的 Unity 介面,當使用 Compiz 開啟 3D 桌面時有許多衝突,因此得將 Unity 關掉,亂按的結果就是掛點了,重開機後畫面只剩一張背景圖。 這個時候就需要用到 Alt + SysRq + K 登出回到 Display Manager (登入) 的畫面,選擇 " 傳統 Ubuntu 桌面 " 登入後,將 Compiz 與 ATi Driver 移除後,結果還是一樣的空白桌面。將重裝一次 Driver 與 Compiz,還是一樣,看來是新版的 Unity 桌面被我的 Compiz 關掉了。

如何在 Ubuntu 下認得 Windows 的電腦名稱

自從踏入 Ubuntu 的領域後,還是以 Windows 的習慣在使用,例如存取公司內部的 Web Server 時,還是習慣使用 電腦名稱 ,但此名稱在 Ubuntu 內是不認得的,只能以 IP 的方式存取。經過一番研究後,得出以下的結論與解決方法: Windows 是透過 WINS 服務將 NetBIOS 的電腦名稱轉換為 IP 的 (此功能與 DNS 相同,只是應用在不同的地方) 因此Ubuntu 要達到相同的功能,需執行以下的動作 sudo gedit /etc/ nsswitch.conf 將 host: ... dns 前面加上 wins,變成 host: ... wins dns 利用 Synaptic 安裝 winbind 即可 原文參考 HOWTO: Resolve Netbios hostname system-wide 2014/11/01 更新 此方法在 Ubuntu Studio 14.10 下竟然無效,無法從瀏覽器用 http://mymediacenter 連接到 NAS 伺服器 不過網路位置還是可以用 smb://mymediacenter  連線到資料夾,真是怪哉!

dynamic_cast 與 operator override 的應用

假設我有一個 Interface 如下 struct IProperty abstract { ~IProperty() { } virtual LPCTSTR toString() = 0; virtual BOOL operator==( const IProperty& other) const = 0; virtual BOOL operator!=( const IProperty& other) const = 0; };

DPI-Aware Application

圖片
一般 MFC Dialog base 的程式,如果使用者調整 Font size 則 Dialog 是會跟著 Font size 等比例放大的。

【已解決】CMyButton 反應太慢

CMy Button  是一個 Owner-Drawn 的 CButton,最近在使用時發現:如果連續按的話,有時會沒有反應。 原本懷疑:  利用 OnSetCursor  攔截 Mouse Over 的狀態,如果 Mouse 停留在 Button 的區域內,會一直產生重繪的動作 ( 取消後問題仍在,故排除 ) 按下 Button 後執行的程式佔用太多的時間,導致第二次 Button click 來不及處理 ( 但使用標準的 CButton 則沒有問題,故排除 )

在網路磁碟機設定 Visual Studio 2010 方案

圖片
由於網路磁碟機是屬於不信任的區域,因此在上面設定方案時會出現以下問題

【分享】如何顯示 Debug Message

圖片
通常在程式 Debug 的過程中會需要顯示一些訊息,最簡單的方式就是利用 MessageBox 來顯示,但缺點是會中斷程式的執行。 所以在 Console or Win32 的程式底下,我們可以直接利用 OutputDebugString (in windows.h) 將訊息輸出到 Visual Studio Output Window,例如     OutputDebugString(_T("Hello, OutputDebugString.\n")); 而 MFC 就更方便了,可以直接用 TRACE 巨集,還可以直接格式化字串,例如     TRACE(_T("Hello, TRACE No. %d.\n"), num);