新的網頁版本
加入書籤: del.icio.us HEMiDEMi(黑米書籤)
|
![]() ![]() |
|||||
|---|---|---|---|---|---|---|
| Windows基本概念 | Introduction to the Windows Programming | Unicode 簡介 | Kernel Object 簡介 |
|
|
| 行程 與 執行緒 | THREAD BASICS | Thread Scheduling |
|
||
| 同步機制 | Thread Synchronization in User Mode | Thread Synchronization with kernel object |
|
||
| 記憶體管理機制 |
|
||||
| DLL 呼叫 |
|
||||
| (補充) | A Thread's Stack | ||||
Advanced Topics:
Other Topics:
| 影像處理部分 |
|
||
|
Outline |
Content
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
00 Introduction to the Windows Programming - 視窗與訊息 - 使用 DDX 與 DDV 操作控制項的資料 - 讀取 / 設定 Edit Control 的字串 (使用指標)
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
=> 如果你想寫 Driver, 你必須知道 Unicode 的基本觀念. 因為 Windows 底層完全是 Unicode based 的字串處理方式.
=> Windows CE 是 Unicode, 散佈在小型裝置上的作業系統只吃 Unicode 的字串
=> 如何利用 String Table resource 撰寫國際化的程式
=> 如何使用比較安全的字串處理函式, 防止 buffer overrun 的問題 |
Unicode簡介 ( 講義:
參考連結: Unicode 官方網站: http://www.unicode.org
重要參考資料: Unicode 4.0 電子書 (view)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
02 Kernel Object 簡介 => Kernel Object 是 Windows 程式設計的核心, 例如 process 之間的同步,就需要知道 Kernel Object 的觀念. Thread 之間的同步也需要 kernel object. 瞭解 Kernel object 你會知道 Windows 如何管理 process, thread, Synchronization object. |
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
03 Process
|
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
講義:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
05 Thread Synchronization in User Mode
(執行速度相當快的同步物件) |
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 06 Thread Synchronization with kernel object |
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thread Scheduling
- schedulable 與 not schedulable - 如何讓你的程式暫時停止執行,稍後啟動 - 放棄自己的時間,讓別人執行 - 設定 thread 的 priority class / priority level 與 priority boosts 的觀念 - 如何知道你的演算法花了多久時間 ? - 測量你的 process 執行的時間 - 如何存取 AX,BX,CX, IP 等暫存器 |
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Using
Virtual Memory in your application
|
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
- Heap 基本觀念 - AWE 基本觀念以及使用範例 |
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
16 A Thread's Stack
導讀: 這部分讓你瞭解系統預設的 Stack 大小, 與你的陣列大小息息相關, 超過了就會發生 Exception. 另外你也可以藉由本章, 瞭解作業系統是如何配置實際的記憶體給每一條 thread.
|
講義:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
19 DLL_Basics & Advanced Topic
- 共享你的資料 (針對小資料交換, 大資料請用Memory-Map File)
* 多個 instance 同時執行以 page table, Virtual Memory , DLL 合在一起的討論 (與玟佑同學的討論)
( |
講義:
延伸讀物: 1. VC 如何呼叫 BCB 所建立的 DLL [link] 2. BCB 如何呼叫 VC 所建立的 DLL [link]
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
- 解析 Windows 執行檔 (補充)
導讀: ==> 這個章節主要是探討, Windows 執行檔 (Portable Execution File, PE File) 中重要節區的分佈, 你會知道 machine code 放在哪個節區, 常數或靜態變數放在哪個節區, 最重要的是你會知道作業系統如何對待 imported functions. 知道了這個機制後,我們就可以透過精緻的手段來欺騙程式. 讓他不知不覺的執行我們的程式. 最簡單的例子就是,安裝了你的程式後,目標程式的所有存檔動作, 都會先繞過你的程式如經過編碼, 然後存入檔案. 這將使得你的程式非常具有透通性. |
講義:
(補充)
其他的範例: 1. Monitor system events (MSDN usinghooks.htm#system_events) 2. TaskSwitcher application (MSDN dnwxp/html/xpvisualstyles.htm) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Topic
| Outline | Content | ||||||
| Using Video Capture | 講義:
|
||||||
|
Task Bar:
Task Bar Status Area:
|
講義:
|
||||||
| Hardware Notification 簡單範例 | 講義:
|
||||||
| Windows Services 簡單範例
- 內容大綱 : 本節是教你如何撰寫在 Windows 下的背景執行程式, 我們會接觸到 1. 如何寫 service object 2. Install your services. 3. 啟動你的 service 4. 程式自動停止你的 service 5. 移除你的 service 等五項基本 service 操作. (另外,你可以在範例程式中看到在系統開機時讓你的 services 自動繼續執行) |
|
||||||
Other Prepared Topics
|
Outline |
Content |
||||||||||||
|
影像處理部分 - 存成 JPEG |
講義:
|
||||||||||||
|
DirectX 簡介 - DirectX 主要元件簡介, 編譯環境設定, 影像擷取簡單說明, 列舉系統硬體資訊
重要 SDK 下載: DirectX
SDK: Windows Media SDK http://msdn.microsoft.com/library/default.asp?url=/downloads/list/winmedia.asp
|
講義:
|
Web resources :
CrystalXP.net (法國的一個網站) 不只提供程式設計上免費的 Icon , 另外還有許多可用的資源. 創立一個優值軟體觀感, 必須參考的網站. |
|
| SysInternals (是一個 技術相關的 Blog) 提供了許多的系統資訊, 包含許多進階的Windows 系統程式設計的知識. ( 包含檔案管理程式, 網路控管方面的程式工具) |
|
Larry Osterman's WebLog |
MSDN Blog 上的高手 (似乎是微軟員工) 包含了許多 Microsoft 的新知, 包含: 1 Win32程式的設計訣竅 2. Audio 方面的微軟新技術 |
| MSDN 雜誌 每個月定期寫出 Microsoft 相關軟體開發技術的文章, 內容非常紮實. 是高手必看的雜誌. WCF Essentials -- WCF 精要討論 One-Way Call, Call Back , 等內容 |
|
Dr. Dobb's Protal: 相當有名的電腦雜誌, 內容不只包含微軟的技術, 還包含了 Java, Opensource, 資料庫, 人工智能與機器人等資訊相關重要資訊. Interactive Storytelling -- 討論未來的電腦遊戲 |
|
Forum
Tutorial Site
| 小木偶的網頁 | Win32 組合語言教學 |
Something Special
3d rendering in real time |
(設計優秀的介面軟體是非常困難的, 很炫是否代表對使用者有效率與方便? by Jing 討論 ...) |
程式設計比賽 ACM 國際大學程式設計競賽網站 ( ACM --- International Collegiate Programming Contest) (link) ACM Online Judged Problem Set (一堆程式設計題目與世界競爭, 看看你的排名在哪裡?) (link) |
版權聲明: |