冰楓論壇

標題: 楓之谷後台按鍵程式? [打印本頁]

作者: zxcv333    時間: 2016-4-10 11:34
標題: 楓之谷後台按鍵程式?
各位大大好

小弟因為想要設定一些自己的組合鍵所以寫了一個楓之谷的後台按鍵程式
程式碼如下

CWnd *pWnd = CWnd::FindWindow(NULL, L"MapleStory");
==>利用這個函式確實有抓到楓之谷的handle
pWnd->PostMessage(WM_KEYDOWN, 27, 0);
pWnd->PostMessage(WM_KEYUP, 27, 0);
==>就是上述這兩行無法成功....

想請問各位大大為什麼無法用PostMessage傳送按鍵指令給楓之谷?
希望知道的大大能夠幫忙, 謝謝

P.S. 小弟有在別的板發一篇, 不過可能發錯版所以沒有人回.....


作者: Doem    時間: 2016-4-10 12:58
Maplestory有針對第三個參數做了一點改變
丟0不會有用的
作者: zxcv333    時間: 2016-4-10 13:36
Doem大你好

我去查了一下MSDN關於第三個參數的說明, 但卻沒有對第三個參數做特別的解說
請問一下該如何做才能夠起作用?

再次謝謝大大的回覆~~
作者: zxcv333    時間: 2016-4-10 17:09
各位大大好

我有上網做了一下功課發現到Postmessage會被maplestory擋掉
所以要修改前五個byte, 因此我依樣畫葫蘆寫了一個修改前面五個byte的程式如下

DWORD PostMessA = (DWORD)GetProcAddress(LoadLibrary(L"USER32.DLL"), "PostMessageA");
_declspec(naked) BOOL PostMessageX(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) {
        _asm {
                mov edi, edi
                        push ebp
                        mov ebp, esp
                        jmp[PostMessA]
        }
}

但是使用Postmessage後仍然不行, 如下
PostMessage(hWnd, WM_KEYDOWN, 0x0D, 1);

想請各位大大能否再給我一些幫助?

p.s.在測試code時 我有搭配龍欸使用(使用龍欸的ij15.dll)






歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓