在gtk程序中显示网页
来源:互联网 发布:龙卷风优化软件官网 编辑:程序博客网 时间:2024/05/16 15:58
#include<gtk/gtk.h>
#include <gtkmozembed.h>
/*
Copyright @ wkt55555
ubuntu下编译:
$sudo apt-get install libxul-dev ##安装依赖
$gcc -o gtkmoz gtkmoz.c `pkg-config --libs --cflags xulrunner-gtkmozembed gtk+-2.0`
$./gtkmoz www.baidu.com
$./gtkmoz mylocalweb.html
notice:
I find guy show this code on lupaworld ,but why he/she did not show where is come from .
Sometime I realy want fuck people !
*/
static gchar *list_sig[]=
{
"link_message",//0
"js_status",//1
"location",//2
"title",//3
"open_uri",//4
NULL
};
gint open_uri_cb (GtkMozEmbed *embed, const char *uri, gpointer data)
{
g_print("Got signal->%s:str->%s ./n",list_sig[4],uri);
// gtk_moz_embed_load_url(embed,"http://www.baidu.com/s?wd=gh");
// g_strlcpy((gchar*)uri,"http://www.baidu.com/s?wd=gh",0);
return FALSE;
}
void do_signal_cb (GtkMozEmbed *embed, char *index)
{
gint i = *index - '0';
gchar *str = NULL;
switch(i){
case 0:
str = gtk_moz_embed_get_link_message(embed);
break;
case 1:
str = gtk_moz_embed_get_js_status(embed);
break;
case 2:
str = gtk_moz_embed_get_location(embed);
break;
case 3:
str = gtk_moz_embed_get_title(embed);
break;
default:
str = g_strdup_printf("why index = %d.",i);
break;
}
g_print("I get signal->%s:str->%s ./n",list_sig[i],str);
g_free(str);
}
int main(int argc,char **argv)
{
gtk_init(&argc,&argv);
GtkWidget *window = NULL;
GtkWidget *mozembed = NULL;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_moz_embed_set_comp_path("/tmp/mytest");
mozembed = gtk_moz_embed_new ();
/*handle event signal */
g_signal_connect(mozembed,list_sig[0],G_CALLBACK(do_signal_cb),"0");
g_signal_connect(mozembed,list_sig[1],G_CALLBACK(do_signal_cb),"1");
g_signal_connect(mozembed,list_sig[2],G_CALLBACK(do_signal_cb),"2");
g_signal_connect(mozembed,list_sig[3],G_CALLBACK(do_signal_cb),"3");
g_signal_connect(mozembed,list_sig[4],G_CALLBACK(open_uri_cb),"4");
/* load an url */
gtk_moz_embed_load_url(GTK_MOZ_EMBED(mozembed),argv[1]);
gtk_container_add (GTK_CONTAINER(window),mozembed);
g_signal_connect(window,"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
- 在gtk程序中显示网页
- 在gtk程序中显示网页
- 在gtk+程序中显示中文说明
- 在自己的程序中显示网页
- 在网页中显示<html>
- 在一个网页中显示另一个网页
- archlinux下ibus在gtk程序中光标不跟随
- 程序中调用浏览器显示一个网页
- 在网页中显示PageRank值
- 在网页中显示QQ在线状态
- 在网页中显示滚动的文字
- 在网页中显示数字时钟
- 图片在网页中不能显示
- 在网页中显示数据的方法
- 在MFC对话框中显示html网页
- 在网页中显示一个时钟 (js)
- 在网页地址栏中显示小图标
- 在网页中显示pdf文档
- InstallAnywhere 2009 Enterprise Edition Crack
- gtk+gtkmozembed linux嵌入firefox
- SymbianOS 60环境搭建
- struts2文件上传
- Firebird嵌入版本的使用方法
- 在gtk程序中显示网页
- Fedora 10 上如何让root登陆系统
- 准备写论文了,开始规划一下
- 关于session【网易163 的招聘题目(09年3月份)】
- 泡在南图
- java解析XML
- 博训
- 扩充和编辑代码段
- 冒泡排序