BCB怎么写不带窗体的程序,就是那种体积只有几K的程序
同上 问题点数:27、回复次数:13Top
1 楼kangji(尾鱼头)回复于 2005-05-12 08:52:51 得分 0
直接用API写,跟vc一样,自己处理全部消息Top
2 楼Waiting4you(毛毛)回复于 2005-05-12 09:12:29 得分 0
是控件台程序吗?其于Windows的程序好像都是带窗体的,自己用API写吧,WIN32帮助里有例子的Top
3 楼pp616(坏蛋)回复于 2005-05-12 09:32:22 得分 0
有人想干坏事 :)Top
4 楼Maconel(Maconel)回复于 2005-05-12 09:34:56 得分 27
windows程序也可以不带窗体,用api来编写,进入winmain函数,自己写消息循环。
用vc向导可以建立一个这样的简单的工程。
如果嫌麻烦,可以使用bcb的vcl,比较简单。
bcb建立一个新工程,选project - remove from project,
将unit1.cpp删掉。
然后打开project1.cpp,在
Application->Run();
下边写你的代码即可。
Application->Run();
就是进入消息循环。Top
5 楼NetSpider9804040(网络蛛蛛)回复于 2005-05-12 10:16:43 得分 0
楼主问的是不是想写C一样的控制台程序,若是这样的话,从BCB的File->New->Other->New Items->New->Console Wizard;将use WCL去掉勾。Top
6 楼yesry(噎死你)回复于 2005-05-12 10:58:55 得分 0
vc可以做到只有几k吗?
记得bc++4.5,5.02的时候就算WinMain没有代码至少也要50k.Top
7 楼Waiting4you(毛毛)回复于 2005-05-12 11:07:15 得分 0
To Maconel(Maconel) :
那还要写消息处理吗?我们从哪里接收消息呢?还会有WM_这类消息吗?
Top
8 楼Maconel(Maconel)回复于 2005-05-12 13:45:39 得分 0
Application->Run();
就是进入消息循环。
如果想处理消息,可以自己写一个消息处理函数AppMessage,并设置
Application->OnMessage = AppMessage;
但是注意,AppMessage应该是一个类的成员函数,比如这样:
class TMessageEvent
{
public:
void __fastcall AppMessage(tagMSG& msg, bool& Handle)
{
switch (msg.message)
{
case WM_XXX:
//处理
MessageBox(NULL, "收到消息", "", 0);
break:
...
}
}
};
在Application->Initialize();下边写上
TMessageEvent me;
Application->OnMessage = ms.AppMessage;
即可。不过没有窗体的程序,估计也没谁给他发什么消息。
还有就是run那句过后,如果没有收到消息,就会退出程序,因此应该用一个循环来保证不会退出。
简单起见,我在run后边加了句
ShowMessage("exit");
这样不关这个窗体就不会退出程序,然后就可以看到会弹出“收到消息”那个窗体。Top
9 楼COKING(天晴)回复于 2005-05-12 15:22:36 得分 0
几K?BCB是无法做到的Top
10 楼unsigned(僵哥(发站内消息,请附上链接或问题说明,否则不予回复))回复于 2005-05-12 16:35:45 得分 0
不要使用BCB的编译器,而直接写汇编代码,使用如MASM之类的编译器去编译就好了。Top
11 楼gpg(snake)回复于 2005-05-12 22:11:03 得分 0
只考虑功能实现,把窗口隐藏几可以了。然后你在FORM里写你的东西,简单,容易实现。
至于体积,需要考虑吗?(别浪费自己的精力在这上面)Top
12 楼mywfool(阿赖耶识)回复于 2005-05-12 23:23:53 得分 0
dev c++可以的呀,最小的只有4、5K大小
Top
13 楼ihpled(笋炒肉)回复于 2005-05-16 20:46:36 得分 0
谢谢大家 结贴Top




