Time of Update: 2018-12-07
首先看一張圖:程式進入主函數---->註冊視窗類別(RegisterClass)--->建立視窗(CreateWindow)---->抓取訊息並安排分發給相應的視窗函數(GetMessage那個迴圈)----->寫一個處理所有訊息和命令的視窗函數WNDPRO() 下面看更詳細的一個圖,詳細到各個函數。 看看這幾個函數是怎麼寫的:------------------------------------------------------------------------
Time of Update: 2018-12-07
本系列意在記錄Windwos線程的相關知識點,包括線程基礎、線程調度、線程同步、TLS、線程池等。預備知識眾所周知,線程在初始化時,系統會為其分配線程棧,用於局部變數、函數調用時的參數等。在開始討論前,先交代一些背景知識。棧:一種先入後出的資料結構,push和pop是它典型的操作,對應“入棧”和“出棧”的術語。系統記憶體的分配機制:簡單的說包括“預訂”和“調撥”兩個過程。預訂並不真正分配實體儲存體器,只是對進程虛擬位址空間中的記憶體進行“預分配”,以使得這塊記憶體不至於被當前進程的其他指令分配;
Time of Update: 2018-12-07
Windows 7 引入了很多新特性,其中最直觀的莫過於使用者介面上的變化。很多人也因為不能適應這種變化而回到了XP。但是在我看來這些新的特性卻是一種進步,使用了一段時間之後,也萌生了要做一點開發的衝動。於是把以前一個電源管理的小軟體重寫了一次(點此下載 ),利用了Windows 7 的工作列特性和JumpList。 關於Windows
Time of Update: 2018-12-07
在網路程式中,我們常常碰到需要使用者輸入IP地址的情況。然而C++ Builder並沒有為我們提供可以用於輸入IP串的控制項,於是我們只好用TEdit控制項(單行文字框)來接受使用者輸入的IP串。但是,使用TEdit來輸入IP串並不是一個好的主意,因為處理起來非常不方便。事實上,在我們的身旁有一個專門用來輸入IP串的Windows控制項,就象網路連結屬性中, 網際網路通訊協定 (IP) (TCP/IP) 屬性中輸入IP的控制項。IP控制項會拒絕非法的IP串(在每個部分只能輸入0~2
Time of Update: 2018-12-07
一、IRPMdlAddress(PMDL)域指向一個記憶體描述符表(MDL),該表描述了一個與該請求關聯的使用者模式緩衝區。如果頂級裝置對象的Flags域為DO_DIRECT_IO,則I/O管理器為IRP_MJ_READ或IRP_MJ_WRITE請求建立這個MDL。如果一個IRP_MJ_DEVICE_CONTROL請求的控制碼指定METHOD_IN_DIRECT或METHOD_OUT_DIRECT操作方式,則I/O管理器為該請求使用的輸出緩衝區建立一個MDL。MDL本身用於描述使用者模式虛擬緩衝
Time of Update: 2018-12-07
我的系統是windows server 2008 r2(啟用windows 7桌面體驗)最近因為系統慢的緣故,強關了一下機,開機進入系統,發現成黑屏了,改變windwos 7主題、設定圖片為壁紙都不管用。我的系統可是正版的啊。原來還以為是啟用的桌面體驗因為強關的原因損壞了檔案,所以刪除桌面體驗,再安裝,啟用主題服務,也不管用啊。 最後還是參考http://support.microsoft.com/kb/2504610/en-us操作成功了。Method 5: Corrupted
Time of Update: 2018-12-07
我使用的系統是windows server 2008 r2,最近發現msconfig很多以前禁用的啟動項,太多想刪除一下:第一下想到的就是使用xp下的msconfig cleanup,沒想到在這個系統上也不能用了。system repair engineer貌似也不行: 萬能的方式看來的這麼做:開機啟動項刪除:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "msconfig"裡面多餘的啟動項(被禁用的啟動項)
Time of Update: 2018-12-07
非常感謝您積极參与測試Windows 7並且給與我們寶貴的反饋意見!微軟最新的用戶端作業系統 Windows 7 已於 2009 年 10 月 23 日正式向全球福士市場發布。在正式發布之前,為了讓廣大夥伴更好地提前開始開發新的應用、裝置驅動程式和相關服務,以及為 IT 專業人員提供更成熟的 Windows 7 評估和測試平台, 微軟於 2009 年 4 月 30 日推出了 Windows 7 發布候選版 (Windows 7 RC 版,版本號碼為 7100)。Windows 7 RC 將在
Time of Update: 2018-12-07
背景在Windows Mobile和Wince(Windows Embedded CE)產品開發中,有時候會使用C++封裝一些共用代碼,例如在我們項目中使用了C++封裝了一個對USB通訊的公開程式碼程式庫,這些共用代碼編譯成靜態庫,其他模式使用的時候,只需要include標頭檔,連結lib庫就可以了,但是.NET Compact Framework的程式沒有辦法使用C++編譯的靜態庫,所以產生封裝Native DLL提供給.NET Compact
Time of Update: 2018-12-07
函數簡介auxGetDevCaps查詢指定的輔助輸出裝置以確定其效能auxGetNumDevs檢取系統中存在的輔助輸出裝置的數量auxGetVolume返回指定的輔助輸出裝置的當前卷裝置auxOutMessage向指定的輔助輸出裝置發送一條訊息auxSetVolume在指定的輔助輸出裝置中設定卷CloseDirver關閉指定的可安裝磁碟機DefDriverProc為任何不由可安裝磁碟機處理的訊息提供的預設處理Drivercallback調用一個回呼函數,發送一條訊息給視窗或將一個線程的阻塞解除D
Time of Update: 2018-12-07
曾經做過一個最簡單的 Windows 程式: 建立一個 Delphi 控制台程式, 貼入以下代碼, 即可運行.program Project1;uses Windows;begin MessageBox(0,PChar('Ok!'),PChar('Title'),0);end.程式碼分析: 系統函數 MessageBox 即可產生一個訊息視窗; 因為這個函數來自 Windows 單元, 需要 uses Windows;同樣的道理, 我們也可以使用 ShellAPI 單元下的
Time of Update: 2018-12-07
【題外話】Windows 8的正式版都發布半年多了,可是Thinkpad的對應驅動卻一直不完善,尤其是大部分快速鍵都不能用,實在是太不方便了,今天閑的無事,經過查閱和摸索,發現要解決快速鍵的問題其實很簡單。以下解決方案在Thinkpad T420 + Windows 8 64bit上測試通過。 【文章索引】問題描述Win8上的新驅動電源管理的問題Win7和Win8熱鍵的不同 【一、問題描述】如果去官網找Win8驅動的話,發現原來很多常見的軟體都沒有,比如電源管理軟體(powermanager*.
Time of Update: 2018-12-07
用Winlogon Notification Package //想捕捉WinXP使用者登出,切換使用者的事件,用WTSRegisterSessionNotification這個函數,原形: // BOOL WTSRegisterSessionNotification( // HWND hWnd, // DWORD dwFlags // ); // //使用HandlerEx 函數 //
Time of Update: 2018-12-07
Windows Vista 對快速切換使用者,使用者賬戶許可權,以及服務程式所啟動並執行會話空間都作了很大的改動,致使一些原本可以工作的程式不再能夠正常工作了,我們不得不進行一些改進以跟上 Vista 的步伐。我們的軟體在Windows NT/2000/XP/Vista 系統中安裝了一個系統服務,這個服務負責以 SYSTEM 許可權啟動我們的主程式。我們的主程式啟動後會在系統托盤添加一個表徵圖,點擊此表徵圖可以彈出控制功能表,通過這個菜單也可以啟用配置程式喜好設定的對話方塊。在
Time of Update: 2018-12-07
Windows RT(WinRT) 是 Windows 8 家族的一個新成員,而這也是此前 Windows on ARM(WOA) 的官方名稱。Windows RT 專註於 ARM 平台,並不會單獨零售,僅採用預裝的方式發行。Windows RT 中將包含針對觸摸操作進行最佳化的微軟 Word、Excel、PowerPoint 和 OneNote 的案頭版,但並不允許其他 Intel 平台的軟體安裝,可通過 WinRT 開發環境為其建立 Metro 應用。ARM 版 Windows
Time of Update: 2018-12-07
關於驅動和核心的學習介紹,[2]中較為詳細。這裡只簡述。
Time of Update: 2018-12-07
Trac 手記(一) : Windows 下安裝 Trac 開發更好的軟體,我相信 ITS(Issue Tracking System) 和 VCS(Version Control System) 是必不可少的。對於國內現狀,相信大多數本土公司都實施了 SCM ,卻看不到 ITS 的痕迹。 所以,有必要學習和使用 Trac。 通過搜尋引擎,知道有以下 ITS : Bugzilla : 基於 Perl。 Gemini : 非開源,基於
Time of Update: 2018-12-07
1. 首先進入msys-shell,設定系統變數HOME2. 運行產生cscope.files,有兩個方法:a)find -iname '*.[ch]' -o -iname '*.[ch]pp' > cscope.filesb)下載 cscope-indexer指令碼
Time of Update: 2018-12-07
為了搞定git亂碼問題,幾乎把網上所有git亂碼文章看了一遍,總算讓我解決了。我用的git和TortoiseGit版本:msysgit: V1.7.9http://msysgit.googlecode.com/files/Git-1.7.9-preview20120201.exeTortoisegit:
Time of Update: 2018-12-07
不少朋友問做示範的時候有沒有什麼工具同步WM裝置螢幕到案頭,使使用者能在PC上操作?個人認為,如果是做demo或是presentation,需要把Windows Mobile裝置上的螢幕同步到PC上的話,ActiveSync Remote Display 無疑是個不錯的選擇,只是這個小工具是為WM2003和之前的裝置設計的。如果要在WM5上使用的話還要稍稍操作一下。首先在這裡下載Windows Mobile power toys。安裝後,在安裝資料夾\Windows Mobile