不需要任何窗口的程序怎样写?

ustclancelot 2003-08-12 03:39:03
一个后台通信的进程,不需要任何用户界面,由另一个主进程启动,应该用什么样的结构实现?
我试了几种使用 SW_HIDE 的方法,都会有窗口的一闪而过。能否避免这种现象,或者根本不使用主窗口,仅有一个 App 类,或者类似线程那样的简单函数?
...全文
107 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ustclancelot 2003-08-13
  • 打赏
  • 举报
回复
没人了?
ustclancelot 2003-08-13
  • 打赏
  • 举报
回复
up
ustclancelot 2003-08-12
  • 打赏
  • 举报
回复
关于大家给的方法,还有几点疑问:
1.创建窗口不带 WS_VISIBLE 的方法,应该是指 CMainFrm 吧,我在 PreCreateWindow() 里修改结构 cs.style &= ~WS_VISIBLE,不起作用。还是应该在别的地方改?
2.修改 InitInstance() 的方法,我去掉了所有东西,仅留下 return true,结果程序运行后,连进程本身都不存在了;留下某些部分的话,又会引发 ASSERT 错误。怎样才能让进程驻留在内存里运行而不是消失?
3.使用 Service 的方法,我还没有详细试过。但这是一个从属进程,并非长期驻留系统,必须要由另一个主进程任意启停操作,同时还必须是多线程的。这样的情况是否适合用 Service?
alinx2000 2003-08-12
  • 打赏
  • 举报
回复
更方便的方法是写一个Service了,用服务族的函数控制很方便的。
kingzai 2003-08-12
  • 打赏
  • 举报
回复
implement it as a service
mfc168 2003-08-12
  • 打赏
  • 举报
回复
agree: BSRONG(戎亚新)
BSRONG 2003-08-12
  • 打赏
  • 举报
回复
for Example:
BOOL CMyApp::InitInstance()
{
your code.......
return TRUE;
}
只有一个应用程序类,把其他所有类的代码都删掉
BSRONG 2003-08-12
  • 打赏
  • 举报
回复
对于一个mfc程序,在app类的InitialInstance中
中不要创建任何窗口,(去掉任何dlg.domodel(),new CMyWnd(),LoadFrame() PaseCommandLineInfo(),AddDocTemplate()等的调用)
只写你的代码。
然后直接return true;
zzzd 2003-08-12
  • 打赏
  • 举报
回复
写一个Server。
bcpl 2003-08-12
  • 打赏
  • 举报
回复
创建窗口时不要带ws_visible属性

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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