GTK消息对话框和unicode字符串

GTK消息对话框和unicode字符串,c,windows,unicode,gtk,C,Windows,Unicode,Gtk,我正在编写一个工具,该工具假设有GTK gui并使用windows注册表进行操作。 例如,我有这样一个回调函数: static void msg_INFO(GtkWidget *main_window, gpointer data) { GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, da

我正在编写一个工具,该工具假设有GTK gui并使用windows注册表进行操作。 例如,我有这样一个回调函数:

static void
msg_INFO(GtkWidget *main_window, gpointer data)
{      
  GtkWidget *dialog = gtk_message_dialog_new(NULL,
      GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, data);
  gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  gtk_dialog_run(GTK_DIALOG (dialog) );
  gtk_widget_destroy(dialog);
}
GTK+支持Unicode是在手册中编写的。如果我用 一些数据作为参数

LPWSTR someDATA = malloc(256);
wcscpy(someDATA,L"Some data here");
在这种情况下,弹出窗口将仅显示第一个字符“S”。我在谷歌上搜索了一下,发现了一些问题,但是python。。。 我不知道如何用gtk_message_dialog_new实现它,因为我需要在与用户交互期间暂停运行。 很抱歉,我的英语使用了GTK+,这不是您从带有前缀的字符串文本中得到的。后者将使用获取一个字符串,通常为16位,因此第一个字符编码为两个字节


第二个字节将是0,因为“S”是ASCII字符,当作为UTF-8查看时,该零将终止字符串。

注意,
someData
没有复制到发布的代码中。已经修复,我的错误。在工作代码中,一切正常。再次感谢,因为我想…非常感谢!看来这样做会有帮助。