0
當我製作鍵盤事件與當地CGEventRef
,我注意到,即使它不是一個指針,你可以「編輯」,其具有的功能特性,比如:本地CGEventRef是否被視爲指針?
CGEventRef eventRef = CGEventCreateKeyboardEvent(....);
CGEventSetFlags(eventRef, ...);
CGEventSetType(eventRef, kCGEventKeyDown);
然後你Post
事件。我知道如果你做這樣的事情;
Player p; //assume Player has an x property and a y property (both public)
p.x = 100000; p.y = -431;
void changePlayerPosition(Player player__, int x, int y){
player__.x = x; player__.y = y;
}
changePlayerPostion(10, 43);
std::cout << p.x << p.y; //prints x=1000000 y=-431 even though we tried to edit the values to 10 and 43 in the function
即使我們在changePlayerPosition
函數中編輯它們,值也不會改變。我知道你可以通過在Player &player__
這個論據中得到地址player__
來解決這個問題。
這是一個例子。我想我的真正的問題是,CGEventRef eventRef
如何編輯flag, type, etc.
而未傳遞指針或地址,如CGEventSetFlags, CGEventSetType, etc.
等功能非常感謝!
P.S一些代碼將是有益的
如果可能的話,我會在哪裏找到'__CGEvent'的實際結構定義? – Ricky
在IDE中,右鍵單擊,跳轉到定義 –