#include <glib.h>
- #include <gtk/gtk.h>
- void example (GtkWidget *mainWindow) {
- GdkEvent *press_event;
- press_event = gdk_event_new (GDK_BUTTON_PRESS);//新建鼠标事件
- press_event->button.button = 1; // 鼠标左键
- press_event->button.window = GTK_WIDGET(mainWindow)->window;//需要接收鼠标事件的控件
- g_object_ref (press_event->button.window);
- //gdk_threads_enter();// 需要init g_thread支持
- gtk_main_do_event (press_event);
- //gdk_threads_leave ();
- // 模拟焦点事件
- GdkEvent *focus_event;
- focus_event = gdk_event_new (GDK_FOCUS_CHANGE);
- focus_event->focus_change.window = GTK_WIDGET(mainWindow)->window;
- focus_event->focus_change.in = TRUE;
- focus_event->focus_change.send_event = TRUE;
- g_object_ref (focus_event->focus_change.window);
- gtk_main_do_event (focus_event);
- }
转载于:https://blog.51cto.com/laokaddk/970070