社区
基础编程
帖子详情
好象不少人在弄winbinder,讨论一下好吗?
xuzuning
2005-06-17 03:50:13
包括安装、配置、小例子及遇到的问题
...全文
1209
28
打赏
收藏
好象不少人在弄winbinder,讨论一下好吗?
包括安装、配置、小例子及遇到的问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhanghongwen
2005-06-20
打赏
举报
回复
UP,学习
bflovesnow
2005-06-20
打赏
举报
回复
有意义吗?
wanghao1985
2005-06-20
打赏
举报
回复
是啊,不能跨平台了啊
-神仙-
2005-06-19
打赏
举报
回复
不过这样就不能跨平台了
Altaori
2005-06-19
打赏
举报
回复
偶昨天在timteam.org才知道这么个东东
那有1个winbinder版,但只有几帖
转个安装帖:
WinBinder 安装方法
下载套件
先到 http://www.hypervisual.com/winbinder/download.php 下载以下档案:
- WinBinder Libraries : winbinder_0.3x.xxx.zip (下载 ZIP 档即可)
- Minimal PHP : php5_minimal.zip & php5_libs.zip
- WinBinder OOi : wb_ooi_0.3.zip
安装
1. 将 winbinder_0.3x.xxx.zip 解压缩至 C:\WinBinder 下。应该会有以下文件夹:
- Code
- PHP
- Source
- Tools
2. 解压缩 wb_ooi_0.3.zip 至 C:\WinBinder 下,将其中的 Code 及 Tools 文件夹复盖掉上面的文件夹。 (其实是新增一些档案)
3. 为了不和已安装的 PHP 起冲突,建议安装 PHP 最小化版本。将上面的 php5_minimal.zip 及 php5_libs.zip 内的档案,解压缩至 C:\WinBinder\PHP\PHP5 下。
4. 打开档案总管,选择「工具 / 文件夹选项 / 档案类型」。新增一个扩展名「PHPW」,然后将打开档案的程序选择为「C:\WinBinder\PHP\PHP5\php-win.exe」。
运行 Script
到 C:\WinBinder\Code\Sample 下,就可以看到很多 .phpw 档。随便找一个点击两下,试试看能不能正常运行。
注意事项
1. 这里所用的 PHP 最小化版本,其设置档为 C:\WinBinder\PHP\PHP5\php.ini 。所以不会和站点用的 PHP 打架。
2. 用 php.exe 也可以运行,不过会看到一个很丑的 Console 窗口大剌剌地跟在运行接口的后头,而且还会显示一堆原始码。 (注:这样的方式能够知道程序错在哪。)
3. 如果要把程序码搬到其他地方运行的话,要注意路径的问题。
4. 其他请有经验的先进们补充罗。
5. 如果在 PHP.INI 中,将短标签关掉,会造成部份 PHPW 程序无法运行。如果决定要关闭短标签,则需要把 C:\WinBinder\Code\* 中的 PHP 档案内之 <? 改为 <?php 。
贫身亦飘然 (jaceju) 修改于 西元 2005 年 05 月 30 日 09:07 AM
nationzhou
2005-06-18
打赏
举报
回复
winbinder 是开发桌面应用程序的吗?
gu1dai
2005-06-18
打赏
举报
回复
呵呵,很好的东西
我从没用过
vitalgg
2005-06-18
打赏
举报
回复
谢谢GaoXX(我即老高,老高即我) 把我的翻译帖出来.
不过这只是我一时冲动翻译了几节最基本的内容.
由于这个文档没有CVS,也不是用DOCBOOK之类的写的,维护起来也很不方便.
直接翻译 html 文件简直是一种折磨.
安装
--
下载winbinder
把 php_winbinder.dll 的相应版本(PHP5/PHP4)复制到php 的 extensions 的扩展模块目录下.
在php.ini中加入
extension=php_winbinder.dll
把 下载包中的 code/inc 下的.php程序放到 php.ini 指定的 include 目录下
或干脆和开发的程序放在一起.
--
配置
--
暂时没有发现要配置的项.
--
小例子(一个什么也不能做只有界面的程序,资源文件就不帖了)
--
<?php
$basedir = dirname(__FILE__)."/";
include $basedir . "inc/winbinder.php"; // 引入 WinBinder 库
//程序参数
define("APPNAME", "唯她 PHP 工具箱"); // 应用程序名
define("PATH_RES", $basedir . "res/"); // 资源路径
//-------------------------------------------------------------------- CONSTANTS
// 控件ID (有点VC++的味道)
define("ID_INSTALL_APACHE", 102);
define("ID_INSTALL_PHP", 103);
define("ID_INSTALL_MYSQL", 104);
define("ID_INSTALL_ALL", 105);
define("ID_CONFIG_APACHE", 201);
define("ID_CONFIG_PHP", 202);
define("ID_CONFIG_MYSQL", 203);
define("ID_TOOLS_SETUP", 301);
define("ID_TOOLS_RESTART_APACHE", 302);
define("ID_TOOLS_RESTART_MYSQL", 303);
define("ID_TOOLS_STOP_APACHE", 304);
define("ID_TOOLS_STOP_MYSQL", 305);
define("ID_HELP_UPGRADE", 401);
define("ID_HELP_WEBSITE", 401);
define("ID_HELP_ABOUT", 402);
// EXE file structures
define("WINHEADER_SIZE", 93);
// 定义常量
define("ABOUT",
APPNAME . "\n\n" .
"唯她PHP工具箱是使用 PHP+WinBinder 制作的一款用于在 Windows 系统下的 PHP 及相关软件的配置管理工具.\n\n" .
"本程序运行于 PHP 4.3 或 PHP 5 之上.\n\n" .
"作 者:Vital(唯她) vital@m121m.net\n".
"主 页:http://www.m121m.net\n" .
"软件主页:http://www.m121m.net/products/VitalPhpTools\n"
);
// 创建主窗口
$mainwin = wb_create_window(NULL, PopupWindow, APPNAME, 640, 480);
wb_set_handler($mainwin, "process_main");
// 创建菜单, 工具栏
wb_create_control($mainwin, Menu, array(
"安装与更新(&I)",
array(ID_INSTALL_APACHE, "安装 &Apache", NULL, PATH_RES ."apache.bmp"),
array(ID_INSTALL_PHP, "安装 &PHP", NULL, PATH_RES ."php.bmp"),
array(ID_INSTALL_MYSQL, "安装 &MySQL", NULL, PATH_RES ."mysql.bmp"),
array(ID_INSTALL_ALL, "安装 Apache+PHP+MySQL", NULL, NULL),
null,
array(IDCLOSE, "退出 (&X)\tAlt+F4", NULL, PATH_RES ."menu_exit.bmp"),
"配置管理(&C)",
array(ID_CONFIG_APACHE, "&Apache 配置", NULL,PATH_RES ."apache.bmp"),
array(ID_CONFIG_PHP, "&PHP 配置", NULL,PATH_RES ."php.bmp"),
array(ID_CONFIG_MYSQL, "&MySQL 配置", NULL,PATH_RES ."mysql.bmp"),
"日志(&L)",
array(ID_LOG_APACHE, "查看 &Apache 日志", NULL,PATH_RES ."apache.bmp"),
array(ID_LOG_PHP, "查看 &PHP 日志", NULL,PATH_RES ."php.bmp"),
array(ID_LOG_MYSQL, "查看 &MySQL 日志", NULL,PATH_RES ."mysql.bmp"),
"工具(&T)",
array(ID_TOOLS_SETUP, "设置(&C)", NULL,PATH_RES."config.bmp","Ctrl+P"),
array(ID_TOOLS_STOP_APACHE, "停止 Apache 服务(&S)", NULL,PATH_RES."stop_apache.bmp"),
array(ID_TOOLS_RESTART_APACHE, "重起 Apache 服务(&R)", NULL,PATH_RES."restart_apache.bmp"),
array(ID_TOOLS_STOP_MYSQL, "停止 MySQL 服务(&D)", NULL,PATH_RES."stop_mysql.bmp"),
array(ID_TOOLS_RESTART_MYSQL, "重起 MySQL 服务(&M)", NULL,PATH_RES."restart_mysql.bmp"),
"帮助(&H)",
array(ID_HELP_UPGRADE, "检查与更新(&U)...", NULL, PATH_RES . "upgrade.bmp"),
array(ID_HELP_WEBSITE, "软件主页(&W)...", NULL, PATH_RES . "upgrade.bmp"),
array(ID_HELP_ABOUT, "关于(&A)...\tF1", NULL, PATH_RES . "menu_help.bmp", "F1"),
));
//工具条(图标在资源文件下)
$toolbar = wb_create_control($mainwin, ToolBar, array(
null,
array(ID_CONFIG_APACHE, NULL, "安装 Apache", 1),
array(ID_CONFIG_PHP, NULL, "安装 PHP", 22),
array(ID_CONFIG_MYSQL, NULL, "安装 MySQL", 12),
null,
array(ID_HELP_ABOUT, NULL, "帮助", 13),
), 0, 0, 16, 15, 0, 0, PATH_RES . "toolbar.bmp");
$mainFrame = wb_create_control($mainwin, Frame, "", 0, 18, 634, 400);
$maintab = wb_create_control($mainFrame, TabControl,
"Tab1\nTab2\nTab3\nTab4\nTab5", 4, 4, 305, 185, 101, WBC_VISIBLE);
// Create child controls
wb_create_control($maintab, Slider, "", 110, 30,140, 25, 102, 0, 0);
wb_create_control($maintab, ScrollBar, "", 20, 30, 16,120, 103, 0, 0);
wb_create_control($maintab, ScrollBar, "", 115, 90,140, 16, 104, 0, 0);
wb_create_control($maintab, Label, "Hi", 40, 40, 70, 20, 201, 0, 1);
wb_create_control($maintab, CheckBox, "Op1", 40, 60, 70, 20, 202, 0, 1);
wb_create_control($maintab, CheckBox, "Op2", 40, 80, 70, 20, 203, 0, 1);
wb_create_control($maintab, RadioButton,"Op1", 40, 40, 60, 20, 301, 0, 2);
wb_create_control($maintab, RadioButton,"Op2", 40, 60, 60, 20, 302, 0, 2);
wb_create_control($maintab, RadioButton,"Op3", 40, 80, 60, 20, 303, 0, 2);
wb_create_control($maintab, Label, "Hey", 40, 40, 70, 20, 401, 0, 3);
wb_create_control($maintab, CheckBox, "Op1", 40, 60, 70, 20, 402, 0, 3);
wb_create_control($maintab, CheckBox, "Op2", 40, 80, 70, 20, 403, 0, 3);
wb_create_control($maintab, Slider, "", 110, 30,140, 25, 501, 0, 0);
wb_create_control($maintab, ScrollBar, "", 20, 30, 16,120, 502, 0, 0);
wb_create_control($maintab, ScrollBar, "", 115, 90,140, 16, 503, 0, 0);
//状态栏
$statusbar = wb_create_control($mainwin, StatusBar, "欢迎使用唯她 PHP 工具箱!");
wb_set_image($mainwin, PATH_RES . 'hyper.ico');
wb_set_handler($mainwin, "process_main"); //设置主处理函数.
//主循环
wb_main_loop();
/* 主处理函数 */
function process_main($window, $id)
{
global $toolbar,$maintab;
switch($id) {
case ID_HELP_WEBSITE:
if(!wb_exec("http://expert.51.net/"))
wb_message_box($window, "无法打开软件主页.");
break;
case ID_HELP_ABOUT:
$about = wb_create_window(NULL, ModalDialog, " 关于".APPNAME."...", 480, 330);
$list = wb_create_control($about, EditBox, ABOUT, 0, 0, 475, 250, 101, WBC_MULTILINE | WBC_READONLY);
wb_create_control($about, PushButton, "Close", 80, 260, 80, 22, IDCANCEL);
wb_set_handler($about, "process_dlg");
break;
case $maintab:
$val = wb_get_value($ctrl);
wb_set_value(wb_get_control($window, 103), $val);
wb_set_value(wb_get_control($window, 104), $val);
break;
case IDCLOSE:
wb_destroy_window($window);
break;
}
}
function process_dlg($window, $id)
{
switch($id) {
case IDCLOSE:
case IDCANCEL:
wb_destroy_window($window);
break;
}
}
?>
-----
遇到的问题
稳定性(可能是正处于测试阶段,反正...)
====
发布的程序也很小.(把没有使用的 php 扩展模块删减后,php本身并不大)
加上开发的程序也不大,而且可以打包成一个可执行文件.(写大型软件自然是不适合的)
uuq
2005-06-18
打赏
举报
回复
ice_berg16(寻梦的稻草人)
那个winbinder目录下面已经有了php.exe了。
就是双击phpw文件打开方式。选择winbinder下面的php.exe可以了
zhiin1
2005-06-18
打赏
举报
回复
关注一下.....
patchclass
2005-06-17
打赏
举报
回复
从来没有用过哦,好东西吗?学习
hope1983
2005-06-17
打赏
举报
回复
刚才自己试了一下,用EditPlus可以打开和调试代码...
GaoXX
2005-06-17
打赏
举报
回复
找到一篇中文介绍
http://phpexpert.51.net/doc/winbinder/
GaoXX
2005-06-17
打赏
举报
回复
请问这么好的东西,哪里可以下载的到?
hope1983
2005-06-17
打赏
举报
回复
能不能看到.phpw里的代码???如何看?
phpsessid
2005-06-17
打赏
举报
回复
jf
majiming
2005-06-17
打赏
举报
回复
不错!接分
unijune
2005-06-17
打赏
举报
回复
我很看好这个东西,用过前面的2个版本,最新的版本没用过,做过一个RssReader,不过没做完:) 很不爽的一点是还不支持右键菜单,但是发现新版本可以支持hyperlink了,这点不错。
还有是界面可以用WINSAM设计,呵呵,满方便的。
另外可以用PECL里的一个工具把一些简单的应用打包成EXE文件,直接运行。但是复杂的就打包不起来了。当然我用的是几个月以前的工具包了,新的或许可以了,呵呵~~
xuzuning
2005-06-17
打赏
举报
回复
to spacet(空格t) 你的回复将要被我删去!贴那些英文的说明毫无意义,解包后就能看到。不烦劳你大驾在这里贴!
这个东西还是很好的,比phpgtk强。不过只能在windows环境下使用。
用他开发点桌面应用还是很不错的。
mikespook
2005-06-17
打赏
举报
回复
安装倒也简单,我因为装的是AppServ所以我只要把 解压缩目录\PHP\PHP4\ext下的php_winbinder.dll复制到extentions目录下,比如我的C:\AppServ\php\extensions目录。再修改php.ini文件在extentions部分加入extension=php_winbinder.dll,就可以了~~~
我的做法跟ice_berg16类似,本身php和phpw我就做了一个run命令,默认还是用dev-php打开,但是鼠标右键,选RUN就是直接执行~~~
加载更多回复(8)
Win
Bind
er
手册
Win
Bind
er
是开放源代码的PHP扩展,可让PHP程序方便创建本地
Win
dows应用程序。几十行脚本就能创建有用程序,借助PHP的强大灵活,能提高生产率、降低成本。PHP是流行的网页开发脚本语言,由DLL、脚本和辅助文件组成。
win
bind
er
开发php桌面应用程序
本文介绍了一款使用PHP开发的简易桌面浏览器的应用案例。通过定时访问指定网页的功能演示了PHP在桌面应用领域的潜力。
php 开发桌面应用,
win
bind
er
开发php桌面应用程序 | 学步园
本文介绍了一种使用PHP进行桌面应用开发的方法,通过
Win
Bind
er
库创建了一个迷你Web浏览器。代码示例展示了如何定义窗口、菜单、工具栏、HTML控件等,并实现定时访问网页的功能。应用可以进行前进、后退、刷新、停止等操作,同时支持自定义URL输入和定时切换页面。
手把手教您用
win
bind
er
来开发php的桌面应用程序[连载一:安装配置篇]
本文详细介绍了如何安装和配置
Win
Bind
er
,一个用于开发PHP桌面应用程序的工具。通过步骤演示了从下载到选择PHP版本,以及设置不同exe文件作为打开方式的区别,特别强调了使用php-cgi.exe时的命令提示符窗口对于调试的价值,并讨论了选择不同PHP安装路径可能带来的配置问题,包括extension_dir的设置和dll文件的拷贝。
php 编写桌面程序_PHP能开发桌面应用吗?
这篇文章介绍了PHP通过
Win
Bind
er
扩展开发
Win
dows桌面应用的能力,
Win
Bind
er
封装了大量
Win
dows API,使得PHP开发者能够像使用VB一样创建可视化界面,并支持多种功能如数据库、网络和图形处理。链接提供了深入学习和实践的资源。
基础编程
21,889
社区成员
140,337
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章