Создайте __init__.py
файл в Вашей папке проектов, и это будет рассматривать как модуль Python.
Классы в Вашем каталоге пакета могут тогда быть импортированы с помощью синтаксиса как:
from package import class
import package.class
В __init__.py
, можно создать __all__
массив, который определяет from package import *
поведение:
# name1 and name2 will be available in calling module's namespace
# when using "from package import *" syntax
__all__ = ['name1', 'name2']
И вот путь больше информации, чем Вы даже хотите знать о пакетах в Python
Вообще говоря, хороший способ узнать о том, как организовать много кода, должен выбрать популярный пакет Python и видеть, как они сделали это. Я проверил бы Django и Скрученный для начинающих.
CGEventCreateMouseEvent
can be used with CGEventPost
in a non-deprecated fashion. The reference is here.
Edit from OP:
Something like this?
void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
CGEventSetType(theEvent, type);
CGEventPost(kCGHIDEventTap, theEvent);
CFRelease(theEvent);
}