社区
C++ Builder
帖子详情
用BCB如何写内存驻留程序?
seaman117
2004-10-29 09:15:42
给个例子看看!
...全文
184
12
打赏
收藏
用BCB如何写内存驻留程序?
给个例子看看!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
崔作非
2004-10-30
打赏
举报
回复
接着昨天的说,其实做成服务程序并不占用多少资源,可多可少,就看你想写什么了,很多软件也都是这么做的。如一般杀毒软件,数据库,开发工具的调试器等,什么都有,你可以看一下任务管理器,那里面的多数程序都是服务程序。它最大的好处是可以和其它服务程序相互依存,有些服务用户只要运行就不能被终止的,用任务管理器也不好使。现在都是用W2K或XP了,他们会更好的支持服务程序的。
seaman117
2004-10-30
打赏
举报
回复
to weill:
嗯,谢了!那儿有钩子的书啊?贴个地址看看吧!
分稍后送上!
weill
2004-10-30
打赏
举报
回复
上面的东西,你可别死记硬背哦,要理解偶为什么这样做,你才能学到东西。
weill
2004-10-30
打赏
举报
回复
示例下载点:
http://www.pcjia.net/viewFile.asp?Boardid=17&ID=467
可能需要注册一个用户才能下。
另:这个程序这不是真正意义上的后台,真正意义上的后台是没有窗体的,也就是说,在任务管理器中的“应用程序”中是看不到的,不过,在应用程序中看不到,也就是不会有界面给用户,其实,这种程序也容易实现,因为只要不做窗体就可以了,你可以研究一下项目文件。
比如,最简单的:
新建一个典型的应用程序工程,然后把窗体删去(方法是点左上的第七个小图标,也就是那个带个红色减号的那个图标),然后按Ctrl+F12,调出所有的程序文件列表,现在你可以看到,里面只有一个东西让你选了,选中它,打开工程文件代码,把里面的代码改成如下:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
int A;
for(A = 0;A<100;A++){
Sleep(1000);
};
return 0;
}
//---------------------------------------------------------------------------
这就是一个最简单的后台程序了,上面的程序实际上没做任何事,他只是在后台进行"A"变量的递增,每秒一次,一直到A=100,然后退出程序,至于你要做别的什么事,那么,请你理解着去做吧。
又及,开发这类程序,要使它真正有功能,一般要使用到钩子等,用用户的击键等去激活你的程序的实际功能,上面所说的只是最基础的东西。要开发这类程序,你要了解的东西会很多,而且可能整个程序工程要进行改去,和典型的windows程序有很大不同。
至于做成服务,那就是另说了,本人没做过NT服务类的程序,所以不发言。
ahaozi
2004-10-30
打赏
举报
回复
那要看什么级别的了.一般hook就是一个很好的例子了!
weill
2004-10-30
打赏
举报
回复
可以使用托盘图标式的程序来解决你的问题(注,将托盘图标隐了就完事)。
具体例子稍后给你。
tccsdn
2004-10-30
打赏
举报
回复
内存驻留程序在WINDOWS里面好象没有这样的说法吧,最简单的办法就是不显示主窗口就可以了
weill
2004-10-30
打赏
举报
回复
本人不同意上一楼的做成服务式的东西,原因有二:
一、对于一般用户来说,不知道怎么停止其服务。
二、不知怎么卸载它。
如果不想做恶意代码,只想让他后台服务的话,做个主程序无窗体的程序是最好的。
至于钩子,也不是一两句能说清的,呵呵,但是也不是很难,至于书嘛,唉……本人也没找到,也许商店里有,但专门讲这个的书很难找到。倒是这个论坛中你自个去搜一搜,应该能找到不少的资料。
如果实在不行,你就发个贴子,问问怎么做热键程序吧。
另外,仔细研究工程基本文件,看懂每一行的意思,你才能达到你的目的。
当然了,要做一个使用者在任务管理器中都难以发现的程序,只能用到“服务”了。本人可不怎么喜欢这样的东东。
seaman117
2004-10-29
打赏
举报
回复
dos下的TSR不能在win平台下运行吧!
我要的是win32下的!
东西不大,用后台服务是不是资源开销太大了
ropriest
2004-10-29
打赏
举报
回复
http://blog.csdn.net/acqy/archive/2001/01/22/6600.aspx
崔作非
2004-10-29
打赏
举报
回复
例如你可以开发一个Windows 2000/XP的服务程序,BCB有这个开发向导,他就在你控制面版->管理工具->组件里面的那些程序,他是和windows一起启动的,驻留在后台执行的,不知道合不合呼你的要求。
ropriest
2004-10-29
打赏
举报
回复
http://it.icxo.com/htmlnews/2004/07/26/274663.htm
深入VCL 理解
BCB
的消息机制
<!--write_title("深入VCL 理解
BCB
的消息机制 ");//-->
程序
中各种变量的存储位置和
程序
返回变量的问题
c++
内存
到底分几个区? 一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由
程序
员分配释放, 若
程序
员不...
在C++Builer中多线程的实现
于是出现了TSR类型的后台
驻留
程序
,比较有代表性的有Side Kick、Vsafe等优秀的TSR
程序
,这类
程序
的出现和应用确实给用户使用计算机带来了极大的方便,比如Side Kick,我们编程可以在不用进编辑
程序
的状态下,一边...
转载各种变量存储位置
转载:各种变量存储位置 ...c++
内存
到底分几个区? 一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)
Linux内核源码分析-
内存
管理
64位Linux系统一般使用48位表示虚拟地址空间,45位表示物理地址。通过命令:cat /proc/cpuinfo。
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章