写一个程序只有一个可执行文件,没有窗口,只在后台运行,应该是怎么的结构?(100分)

  • 主题发起人 主题发起人 caidao
  • 开始时间 开始时间
很好做了,可以做成trayIcon程序或service.
 
也不用TrayIcon。
Service可以在win9X下用吗?可不可以不做成Service?
 
你就直接做一个程序不显示主窗体,它也能达到你的目的呀??
 
delphi里可以做到没有窗口的程序只有17K,不知道是怎么做的?
 
是呀!只要能达到目的,有管什么都可以的呀!
在运行时不显示任务界面出来就OK了,它要什么功能呢?
 
用Form后体积明显增加,所以我不想用Form.
 
仅是不用窗体的程序是容易的。但你要实现一些功能是很麻烦的事,因为你没有可用的VCL。省省吧。
 
program project1;
uses
Windows;
{$APPTYPE CONSOLE}
begin
writeln('hello');
end.
 
fisher70:为什么不用窗口就是不用VCL?这个程序只是需要的一个Timer就行了。我可以引用需要的单元,这样还是不能用VCL?
zfsfj:控件台的当然不行哟。
 
老大,问题解决了吗?
 
帅哥,还没有哟。帮帮忙。
 
方法很多,主要看你的需要。
我这里提一个方法
写一个主线程,把要做的事情放在里面
在project里面写一句话waitforsingleObject
等待主线程结束即可。
 
不用vcl当然可以,自己在程序中动态创建对象就可以了!
那你直接写pas文件算了!
象最早的pascal不就没有form吗!
 
你们怎么都说没有Form就不能用VCL,不懂就别乱说。
 
Tassadar:这个程序主是就是监视系统有没有异常,也就是说,它随便Windows一起运行,直到关闭系统,否则不得退出。所以。。。
jine:我这样写怎么通不过?
Unit UntMain2;
interface
Uses
windows, ExtCtrls;
var
Timer: TTimer;
procedure OnTimer(Sender: TObject);
procedure Init;
implementation
procedure OnTimer(Sender: TObject);
begin

end;

procedure Init;
begin
Timer := TTimer.Create(nil);
Timer.Interval := 1000;
Timer.Enabled := true;
//Timer.OnTimer := OnTimer;
//method pointer and regular procedure
end;

initialization
Init;
end.
 
有错误提示吗?

Timer.Enabled := true;
//Timer.OnTimer := OnTimer;
//method pointer and regular procedure
位置互换一下看。
 
参考一下这个??
如何编写小于20K的Windows程序.演示如何使用:
CreateWindow,CreateWindowEx,SendMessage and GetMessage
TranslateMessage and DispatchMessage, CreateFont
演示如何使用API创建Windows窗口控件
http://www.csdn.net/dev/delphi/Samples/testwin.zip
 
caidao,你好,什么叫"VCL",可视组件库。用它来建立界面十分方便。调用API可以自己为程序搭框架,包括按钮,文本框的创建。但这也是可视组件库?不过这没什么可争论的,即止。
 
后退
顶部