社区
C++ Builder
帖子详情
BCB中,怎样作出一个带选择参数的Windows程序?
saucerman
2000-02-14 02:43:00
BCB中,怎样作出一个带选择参数的Windows程序?
比如说吧,我的工程是AAA.bpr, 编译出AAA.EXE,参数是-t
执行AAA.EXE -t,就先弹出一个对话框然后再显现到主窗体;
执行AAA.EXE,不带参数,就直接显现主窗体,不出对话框。
还可以有其它多个参数,-x,-y,-z等等。
好象InstallShield里,就有参数,只是不知如何用。
注意是窗口程序,不是控制台程序。
...全文
253
6
打赏
收藏
BCB中,怎样作出一个带选择参数的Windows程序?
BCB中,怎样作出一个带选择参数的Windows程序? 比如说吧,我的工程是AAA.bpr, 编译出AAA.EXE,参数是-t 执行AAA.EXE -t,就先弹出一个对话框然后再显现到主窗体; 执行AAA.EXE,不带参数,就直接显现主窗体,不出对话框。 还可以有其它多个参数,-x,-y,-z等等。 好象InstallShield里,就有参数,只是不知如何用。 注意是窗口程序,不是控制台程序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
april_d
2001-10-05
打赏
举报
回复
gz
saucerman
2000-02-17
打赏
举报
回复
更正:
不是俺的问题——
这句话怎么一上传就会变成这个样子:
if(AnsiString(CmdLinePointer)=="-x" and and AnsiString(CmdLinePointer)=="-X")
其中的两个“ and and ”本是两条竖杠——C中的逻辑或操作符。
以下也相同,请自行纠正。
另外“在指针移到分号后,您写的是“p+=2;””,本想说的是“引号”,却误写成“分号”。
wxz
2000-02-15
打赏
举报
回复
补充:
char *p=(char *)GetCommandLine();
for(p++;*p!='"';p++);
p++;
// 如果没有参数,p=NULL;
AnsiString CmdLine;
if(*p){p++;CmdLine=p;}
wxz
2000-02-15
打赏
举报
回复
我用以下的方法,问题是没有的
// 用API GetCommandLine,返回整个命令行的字符串指针
char *p=(char *)GetCommandLine();
// 如果程序名为C:\AAA.exe,参数为-x,则p为 "C:\\AAA.exe" -x
for(p++;*p!='"';p++); // p为" -x
p=p+2; // p为-x
AnsiString CmdLine=p; //
// 现在你想做什么
FoolBoy
2000-02-14
打赏
举报
回复
打开AAA.CPP,在WinMain函数的说明中,LPSTR型参数即为命令行参数串,int型参数即为命令行参数个数。要加入命令行参数功能,只需在WinMain中相应说明,再在程序中引用即可!
sky__horse
2000-02-14
打赏
举报
回复
我在delphi中这样用:
当别的程序执行如下语句:
WinExec(PChar(<包括路径的被执行程序名 参数串>),SW_Show);
被执行程序启动时:
procedure TForm1.FormCreate(Sender: TObject);
var para1: string;
begin
... ...
if ParamCount>0 then
begin
Para1:=ParamStr(1);
//有参处理...
end
else
begin
//无参处理;
end;
end;
delphi是bcb的堂兄,希望这个例子能帮你的忙
BCB
59个经典问题
1.怎样在C++Builder
中
创建使用DLL 2.用C++Bulider在WIN.INI
中
保存信息 3.如何在C++Builder
中
检测硬件 4.C++Builder如何响应消息及自定义消息 5.利用C++ Builder开发动画DLL 6.用C++ Builder 3制作屏幕保护
程序
7.TCP/IP头格式 8.UDP 9.判断
windows
的Desktop及其它目录 10用C++Builder创建数字签名 11用Enter 键控制焦点切换的方法 12.拦 截
Windows
消 息 13.使用CommaText 14.
程序
开始时先显示信息框 15.怎样获取
程序
的命令行
参数
? 16.如何监视剪贴板 17.如何使用OnIdle事件 18.用C++Builder编写串行异步通信
程序
19.C++BUILDER非可视组件的消息处理技巧 20.用C++Builder 建立数据库VCL使用经验 21.用C++ Builder创建基于Internet的点对点Chat 22.用C++Builder获取应用
程序
图标 23.BIG5到GB的转换技术 24.C++BUILDER让你的任务栏图标动起来 25.TFORM 26.用
BCB
在
windows
桌面创建快捷方式 27.读磁片磁区 28.I/O 端口读写的实现 29.检测鼠标位置 30.令Win32 应用
程序
跳入系统零层 31.如何取得Memo的行和列 32.使用Sockets 33.
Windows
95/98下怎样隐藏应用
程序
不让它出现在CTRL-ALT-DEL对话框
中
? 34.怎样隐藏应用
程序
的任务条图标 35.编写自己的Ping.exe
程序
36.用C++Builder在WINNT下编制
一个
Service 37.如何在C++ BUILDER
中
自动关闭
WINDOWS
屏保 38.显示/隐藏任务栏图标 39.信箱监视
程序
40.C++Building制作闹钟 41.拨号上网IP地址的检知 42.用C++ Builder编写Tray
程序
43.怎样用代码来最小化或恢复
程序
44.制作主窗口显示前的版权窗口 45.判断是否已经联到 internet 46.获取登陆用户名 47.隐藏桌面图标 48.
程序
启动时运行 49.控制面板的调用 50.模拟键盘按键 51.让标题栏闪烁 52.启动屏幕保护 53.年月日星期的取法 54.键盘事件 55.隐藏任务栏 56.禁止关机 57.怎样以最小化方式启动
程序
58.在Memo
中
增加一行后,如何使最后一行能显示 59.设置壁纸方法
C++Builder 资料库
C++Builder 资料库 提供50多个例子,
带
目录 1.怎样在C++Builder
中
创建使用DLL 2.用C++Bulider在WIN.INI
中
保存信息 3.如何在C++Builder
中
检测硬件 4.C++Builder如何响应消息及自定义消息 5.利用C++ Builder开发动画DLL 6.用C++ Builder 3制作屏幕保护
程序
7.TCP/IP头格式 8.UDP 9.判断
windows
的Desktop及其它目录 10用C++Builder创建数字签名 11用Enter 键控制焦点切换的方法 12.拦 截
Windows
消 息 13.使用CommaText 14.
程序
开始时先显示信息框 15.怎样获取
程序
的命令行
参数
? 16.如何监视剪贴板 17.如何使用OnIdle事件 18.用C++Builder编写串行异步通信
程序
19.C++BUILDER非可视组件的消息处理技巧 20.用C++Builder 建立数据库VCL使用经验 21.用C++ Builder创建基于Internet的点对点Chat 22.用C++Builder获取应用
程序
图标 23.BIG5到GB的转换技术 24.C++BUILDER让你的任务栏图标动起来 25.TFORM 26.用
BCB
在
windows
桌面创建快捷方式 27.读磁片磁区 28.I/O 端口读写的实现 29.检测鼠标位置 30.令Win32 应用
程序
跳入系统零层 31.如何取得Memo的行和列 32.使用Sockets 33.
Windows
95/98下怎样隐藏应用
程序
不让它出现在CTRL-ALT-DEL对话框
中
? 34.怎样隐藏应用
程序
的任务条图标 35.编写自己的Ping.exe
程序
36.用C++Builder在WINNT下编制
一个
Service 37.如何在C++ BUILDER
中
自动关闭
WINDOWS
屏保 38.显示/隐藏任务栏图标 39.信箱监视
程序
40.C++Building制作闹钟 41.拨号上网IP地址的检知 42.用C++ Builder编写Tray
程序
43.怎样用代码来最小化或恢复
程序
44.制作主窗口显示前的版权窗口 45.判断是否已经联到 internet 46.获取登陆用户名 47.隐藏桌面图标 48.
程序
启动时运行 49.控制面板的调用 50.模拟键盘按键 51.让标题栏闪烁 52.启动屏幕保护 53.年月日星期的取法 54.键盘事件 55.隐藏任务栏 56.禁止关机 57.怎样以最小化方式启动
程序
58.在Memo
中
增加一行后,如何使最后一行能显示 59.设置壁纸方法
获取硬盘物理序列号、型号等
参数
该软件主要为一动态链结库文件: DiskSerial.DLL,它能获取物理硬盘的型号(Model Number)、物理序列号(Serial Number)、修订号(Revision Number)、缓存容量(Buffer Size)、柱面数(Cylinders)、磁头数(Heads)、每磁道的扇区数(Sectors per track)。<;br>; 在
WINDOWS
NT 4.0和
WINDOWS
2000操作环境下能获取IDE硬盘和SCSI硬盘的以上
参数
;在
WINDOWS
9X和
WINDOWS
ME操作环境下能获取IDE硬盘的以上
参数
。<;br>; 本库文件供VC、
BCB
、VB、VFP、PB和DEPHI开发人员使用,其它开发环境下未经测试,欢迎大家测试。在以上开发环境下分别提供以下文件:<;br>; DiskSerial.H,DiskSerial.Lib 两个文件提供给C/C++
程序
员调用;<;br>; DiskSerial.pas 文件提供给Dephi
程序
员调用;<;br>; DiskSerial.bas 文件提供给VB
程序
员调用。<;br>; 调用格式请进入以下链接获取例子
程序
(http://vip.6to23.com/songdai/)。若在使用过程
中
发现任何问题或有新的想法请及时与我联系。<;br>; 以上
参数
都是硬盘生产厂商所提供,不会随硬盘的分区、格式化而变化。<;br>; 注册用户将获得免费升级及更新 E-MAIL 通知。<;br>; E-Mail:songdai@163.net
UpxShell
upx是
一个
非常优秀的可执行文件压缩工具,它功能强大、压缩率是所有同类工具
中
最大的,而且还是免费的呦!不像aspack还要注册,可是它最大的缺点是使用不方便,每次都要从命令行来启动运行,还要输入一大堆复杂的
参数
,相比之下aspack的使用倒是非常方便的。 我也使用过老外开发的外壳
程序
,但界面极差,又是鸟语,功能也不全,不如自己做
一个
,所以我模仿aspack的界面设计了这个
程序
,遗憾的是不知道压缩的进度。 本版本是专为upx1.22w版制作的,因为其
中
的命令行
参数
也是针对upx1.22w做的,所以不保证它可以与以后版本的upx兼容,而且我没有耐心加入全部
参数
,这些常用的已经足够了。不过我加入了手动输入这项功能,以满足高级用户的需求,方法是选
中
“用手动设置
参数
”后在编辑筐里输入
参数
,而且输出文件名及压缩文件名可以不必输入到手动
参数
框。 该
程序
中
已自
带
upx,你不需要再去找了。 用VC开发的原因,起初我先是用
BCB
开发的,可做出的软件虽然漂亮但实在太大,动不动就是五六百K,后来想用Delphi,但一想也小不了多少,毕竟VCL里提供了很多功能本
程序
根本就用不上,白站内存和硬盘。还是用VC的好,才一百多K,一压缩就剩二三十K,增一分则肥减一分则瘦,虽然微软把MFC42*.dll之类的家伙都捆绑到了
Windows
里让Borland有些不公平,但不用白不用,不然自己都这么肥还去压缩别人吗。只是界面....,要做好太花时间了。
BCB
用API函数WinExec在
BCB
内运行外部
程序
API(Application Programming Interface,应用
程序
编程接口)是一套用来控制
Windows
的各个部件(包括从窗口的外观到为
一个
新进程分配的内存)的外观和行为的一套预先定义的
Windows
函数。在某种程度上API很象
Windows
的底层代码,其它的编程语言只是提供一种能自动而且更容易访问API的方法。
Windows
API 函数
中
包含了成千上万的函数、例程、类型和常数
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章