close
火昌華這期開始介紹Design Pattern,那時候應該就要認真看的,其實不難,不知道為什麼那時候會忽視然後跳過沒仔細看。

WSH 介紹檔案、資料夾的操作。

Fancy軟體撰寫守則 Part 3:這裡介紹的主要是C++ Builder的VCL,不過套用到一般Windows/.Net程式,大致原理差不多。
  • 技巧8-Shell links(讓使用者可以自行新增程式捷徑):主要要實作 IShellLink 介面。
  • 技巧9-Prevent Multiple Instance(同時間只執行一個的程式):第一個範例是用FindWindow 來避免重複 CreateWindow,這會受限於很多程式的Form Title可能都用TForm1而有麻煩。第二個則改用 Project Title 並改用 EnumWindows 來處理。
  • 技巧10-Drag and Drop in shell space(桌面物件的拖曳):先用DragAcceptFiles設定可收檔案,之後當使用者拖拉檔案到Window上放開時,window會收到WM_DROPFILES訊息,並得到 drop handle,這裡就可以根據 drop handle 去呼叫 DragQueryXXXX 等函式,以取得資訊並處理。
  • 技巧11-Form size and position(視窗位置大小的記憶):這裡是在開關Form時,去存取registry的值
  • 技巧12-系統關機時刻:當關閉視窗時,被觸發的事件依序為 FormCloseQuery、FormClose、FormDestroy。當關機或登出時,則是FormCloseQuery、FormDestroy,FormClose被忽視了。這裡的解法是在收到 WM_ENDSESSION 時去做清理工作,而不在FormClose時做。
  • 技巧13-Contact with author(e-mail回覆):就利用ShellExecute去open "mailto:someone@somewhere.com" ,就結了。


arrow
arrow
    文章標籤
    enumwindows 技巧 shell
    全站熱搜

    elleryq 發表在 痞客邦 留言(0) 人氣()