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 打赏 收藏 转发到动态 举报
写回复
用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的堂兄,希望这个例子能帮你的忙
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.用BCBwindows桌面创建快捷方式 27.读磁片磁区 28.I/O 端口读写的实现 29.检测鼠标位置 30.令Win32 应用程序跳入系统零层 31.如何取得Memo的行和列 32.使用Sockets 33.Windows95/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 资料库 提供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.用BCBwindows桌面创建快捷方式 27.读磁片磁区 28.I/O 端口读写的实现 29.检测鼠标位置 30.令Win32 应用程序跳入系统零层 31.如何取得Memo的行和列 32.使用Sockets 33.Windows95/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.设置壁纸方法
upx是一个非常优秀的可执行文件压缩工具,它功能强大、压缩率是所有同类工具最大的,而且还是免费的呦!不像aspack还要注册,可是它最大的缺点是使用不方便,每次都要从命令行来启动运行,还要输入一大堆复杂的参数,相比之下aspack的使用倒是非常方便的。 我也使用过老外开发的外壳程序,但界面极差,又是鸟语,功能也不全,不如自己做一个,所以我模仿aspack的界面设计了这个程序,遗憾的是不知道压缩的进度。 本版本是专为upx1.22w版制作的,因为其的命令行参数也是针对upx1.22w做的,所以不保证它可以与以后版本的upx兼容,而且我没有耐心加入全部参数,这些常用的已经足够了。不过我加入了手动输入这项功能,以满足高级用户的需求,方法是选“用手动设置参数”后在编辑筐里输入参数,而且输出文件名及压缩文件名可以不必输入到手动参数框。 该程序已自upx,你不需要再去找了。 用VC开发的原因,起初我先是用BCB开发的,可做出的软件虽然漂亮但实在太大,动不动就是五六百K,后来想用Delphi,但一想也小不了多少,毕竟VCL里提供了很多功能本程序根本就用不上,白站内存和硬盘。还是用VC的好,才一百多K,一压缩就剩二三十K,增一分则肥减一分则瘦,虽然微软把MFC42*.dll之类的家伙都捆绑到了Windows里让Borland有些不公平,但不用白不用,不然自己都这么肥还去压缩别人吗。只是界面....,要做好太花时间了。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧