社区
基础编程
帖子详情
好象不少人在弄winbinder,讨论一下好吗?
xuzuning
2005-06-17 03:50:13
包括安装、配置、小例子及遇到的问题
...全文
1146
28
打赏
收藏
好象不少人在弄winbinder,讨论一下好吗?
包括安装、配置、小例子及遇到的问题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
——PHP桌面开发应用工具包
win
bind
er
,是PHP开发桌面应用的工具包,对于想利用php语言开发桌面应用的PHP
ER
,或者想尝鲜的开发人员来说,是个不错的选择
php构建native
win
dows 程序工具
Win
Bind
er
.2010.10.14
php构建native
win
dows 程序工具
Win
Bind
er
.2010.10.14
Win
Bind
er
is an open source extension to PHP that allows programm
er
s to easily build native
Win
dows applications.
Woody:woody -
Win
bind
er
的面向对象的对话框界面
伍迪 Woody -
Win
bind
er
的面向对象的对话框界面 什么是伍迪? Woody 是一个面向对象的层,用于在之上。 开始使用 Woody 需要什么? 您将需要 PHP 5.4 以及相应的
win
bind
er
扩展。 访问以获取最新版本的扩展。 如何安装伍迪? Woody 可以手动安装,也可以通过 Compos
er
安装。 Woody 依赖于一个 Utils 包,该包定义了一些常见的类 - 在通过 compos
er
安装时会处理这种依赖关系。 当然,您需要手动安装
win
bind
er
扩展。 如何使用 Woody 编写应用程序? 查看并查看 。 经常问的问题 问:当我安装了 Int
er
net Explor
er
8/9 时,为什么使用 HTMLControl 作为 Int
er
net Explor
er
7 的渲染引擎? A:在注册表路径“HKEY_CURRENT_US
ER
\S
Win
Bind
er
- A native PHP
Win
dows
bind
ing-开源
Win
Bind
er
是一个新PHP扩展,允许PHP程序员构建本机
Win
dows应用程序。 它将
Win
dows API封装在一个轻量且易于使用的库中,从而使程序创建变得简单,快速和有趣。
php
php介绍 简介与历史 • 缩写:P
er
sonal Home Page ==>>PHP:HypeText Preprocessor • 历史 o 1995PHP/FI,Rasmus Lord
er
f,P
er
sonal Home Page o 1997PHP/FI2.0,1998PHP3,2000PHP4,2005PHP5
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章