![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
|
![]() |
#1 (permalink) |
管理版主
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() 找到一個折衷的寫法
(雖沒有達到理想境界,但可以接受) c++ 可能需用到 函式指標 觀念 個人大部分是寫 VB 會用到的WinAPI Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long 原理是 得到各函式記憶體位址 接著經過一次的判讀決定用哪一個函式 而迴圈統一固定使用 CallWindowProc 經過測試 的確有省略時間 用 OllyDbg 可發現 CallWindowProc 會 push 五個參數 而 If 有 60% 的可能性會被編譯器轉成 虛擬機器判讀語法 如此就會超過 CallWindowProc 總共 6條 組合語言指令 (聽不懂就當本人在自說自話吧~畢竟花了兩個星期研究,有點一言難盡) 至於實作 已在個人 新版 檔案清單列表機 使用到 而範例... 如有版友有興趣 方 打包貼出來分享 ![]() |
![]() |
送花文章: 2055,
![]() |