CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请教,如何做一个没有窗体的程序。

楼主cow_boys(小耳朵)2004-09-02 17:38:45 在 VC/MFC / 基础类 提问

程序启动时删除c:\aa.exe  
  删除失败程序退出。  
  删除成功后启动c:\bb.exe   -save  
  10秒后重启计算机。  
   
  注,我的环境是98的。 问题点数:50、回复次数:15Top

1 楼BLsoft(網龍ζ龍活)(Cyber-Security of [MVP])回复于 2004-09-02 17:42:56 得分 0

你写的DLL不就是没窗体的吗Top

2 楼huwei001982(凶猛的小狗)回复于 2004-09-02 17:42:59 得分 0

将窗体隐藏就可以了!    
   
  this->ShowWindow(SW_HIDE);Top

3 楼lixiaosan(小三)回复于 2004-09-02 17:44:05 得分 0

BOOL   DeleteFile(  
  LPCTSTR   lpFileName    
  );    
   
  CreateProcess(    
  LPCWSTR   lpszImageName,    
  LPCWSTR   lpszCmdLine,    
  LPSECURITY_ATTRIBUTES   lpsaProcess,    
  LPSECURITY_ATTRIBUTES   lpsaThread,    
  BOOL   fInheritHandles,    
  DWORD   fdwCreate,    
  LPVOID   lpvEnvironment,    
  LPWSTR   lpszCurDir,    
  LPSTARTUPINFOW   lpsiStartInfo,    
  LPPROCESS_INFORMATION   lppiProcInfo  
  );    
   
  Top

4 楼cow_boys(小耳朵)回复于 2004-09-02 17:46:22 得分 0

将窗体隐藏就可以了!    
   
  this->ShowWindow(SW_HIDE);  
   
  晕。我是为节省资料的角度考虑,这样做太不负责任了。Top

5 楼titilima(李马 - www.titilima.cn)回复于 2004-09-02 17:47:46 得分 30

#include   <windows.h>  
  int   WINAPI   WinMain(HINSTANCE   hInstance,   HINSTANCE   hPrevInstance,   LPSTR   lpCmdLine,   int   nShowCmd)  
  {  
      if   (!DeleteFile("C:\\aa.exe"))  
          return   0;  
      ShellExecute(NULL,   "open",   "C:\\bb.exe",   "-save",   NULL,   SW_SHOW);  
      Sleep(10000);  
      ExitWindowsEx(EWX_REBOOT,   0);  
      return   0;  
  }  
  把上面的代码用Win32   Application编译。Top

6 楼lixiaosan(小三)回复于 2004-09-02 17:48:47 得分 0

ExitWindowsEx(EWX_REBOOT,   0);Top

7 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2004-09-02 17:57:34 得分 0

或直接在InitInstance中不创建窗口就行了,直接写你的代码就行了。Top

8 楼cow_boys(小耳朵)回复于 2004-09-02 18:00:06 得分 0

谢谢各位。感激ing。  
   
  再问一个问题。  
  这个程序如何收参数。  
  如编译后是aa.exe  
  我运行时输入aa.exe   -test   ok?  
  这样如何接收那两个参数。Top

9 楼smile_cc(笑笑)回复于 2004-09-02 19:56:12 得分 0

那你可以定义一个很短的时间(100毫秒甚至更短)发消息关闭窗体啊!  
  ::PostMessage(this->m_hWnd,   WM_CLOSE,   NULL,   NULL);  
   
  读取参数:  
  CString   param;  
  param   =   this->m_lpCmdLine;  
   
   
  比如你输入:aa.exe   -test   ok?  
  那么param   =   "-test   ok?"  
  然后你可以分别把他们解析出来,剩下的应该好解决吧?Top

10 楼titilima(李马 - www.titilima.cn)回复于 2004-09-02 20:12:12 得分 0

__argv[1]为"test"  
  __argv[2]为"ok?"Top

11 楼mynamelj(风动,帆动,仁者心动)回复于 2004-09-03 08:51:08 得分 0

那不如C写就好了Top

12 楼crystal521(【云淡风轻】)回复于 2004-09-03 11:17:27 得分 0

删除   DeleteFile  
  启动程序   CreatProcess  
  延时   Sleep  
  重启   ExitWindowsEx  
   
  传参数,不知你要怎么传?给这个程序发送消息字符串就可以了  
  Top

13 楼cow_boys(小耳朵)回复于 2004-09-04 09:00:17 得分 0

谢谢各位。  
  再请教一个问题。  
  如何对文件重命名??Top

14 楼titilima(李马 - www.titilima.cn)回复于 2004-09-04 09:05:55 得分 10

BOOL   MoveFile(  
      LPCTSTR   lpExistingFileName,   //   pointer   to   the   name   of   the   existing   file  
      LPCTSTR   lpNewFileName               //   pointer   to   the   new   name   for   the   file  
  );  
  如果源文件和目标文件在同一文件夹下,就可以实现改名。Top

15 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2004-09-04 09:08:37 得分 10

BOOL   MoveFile(  
      LPCTSTR   lpExistingFileName,  
      LPCTSTR   lpNewFileName  
  );  
   
  用这个函数可以移动文件,如果在同一个目录下,可以达到更改名字的效果  
  举例:  
          MoveFile("c:\\test1.txt","c:\\text2.txt");  
  Top

相关问题

  • 如何编制没有窗体的程序
  • 如何用程序实现拖动一个没有边框的窗体
  • 如何让C#窗体程序在没有安装.NET的机子上运行?
  • 多窗体的程序如何做?
  • 如何在程序中释放窗体?
  • 如何建立无窗体的程序???
  • 如何写多窗体的程序
  • 在线等待:一个程序窗体,没有HWND属性,又没有VISIBLE属性,如何使它隐藏?
  • SDI程序,如何隐藏本窗体并显示另一个窗体?
  • 如何在一个控制面板程序中加入窗体,当程序运行的时候显示窗体????????

关键词

  • 文件
  • null
  • 窗体
  • 程序
  • 删除
  • 参数
  • movefile
  • exitwindowsex
  • lpctstr
  • deletefile

得分解答快速导航

  • 帖主:cow_boys
  • titilima
  • titilima
  • kugou123

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo