首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么让小弟我的应用软件最小化或后台 运行

2012-02-23 
如何让我的应用软件最小化或后台 运行我有一款软件,总担心不小心把它关掉,因为关掉后就影响整个系统的运行

如何让我的应用软件最小化或后台 运行
我有一款软件,总担心不小心把它关掉,因为关掉后就影响整个系统的运行,希望哪位大虾帮我解决这个问题,或让它后台运行,或者是最小化到右下脚;很急谢谢! 像QQ那样可以最小化到右下角!

[解决办法]
如果是窗口程序的话
两种方法:
1使用c++builder自带的tray,见C++builder的例子
2设置主窗口不可见
application->showmainform 好像是这个吧

现在手上没有c++builder的开发环境了
[解决办法]
使用Samples 里的TTrayIcon控件,使用让程序最小化到右小角
[解决办法]

C/C++ code
//方法一:__fastcall TForm1::TForm1(TComponent* Owner)        : TForm(Owner){   TrayIcon1->Visible = true ;}//---------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){   ShowWindow(Application->Handle,SW_HIDE);   Application->ShowMainForm=false;   TrayIcon1->Minimize();}//---------------------------------------void __fastcall TForm1::TrayIcon1Restore(TObject *Sender){   ShowWindow(Application->Handle,SW_SHOW);   Application->ShowMainForm=true;   Form1->Visible   =   true;}//方法二USEFORM("Unit1.cpp", Form1);//---------------------------------------WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){        try        {                 Application->Initialize();                 Application->CreateForm(__classid(TForm1), &Form1);                 Application->ShowMainForm   =   false   ;//增加                   Application->Run();        }//---------------------------------__fastcall TForm1::TForm1(TComponent* Owner)        : TForm(Owner){    Form1->TrayIcon1->Visible = true ;    TrayIcon1->PopupMenu = PopupMenu1 ;    TrayIcon1->PopupMenuOn = imRightClickUp;}//---------------------------------------void __fastcall TForm1::N1Click(TObject *Sender){   TrayIcon1->Restore();   Application->ShowMainForm = true;   WindowState=wsNormal ;   Form1->Visible   =   true;}
[解决办法]
后台运行是可以的,但要最小化到右下角就难了
C/C++ code
HANDLE ahd=NULL;  //全程(或放入form中)变量void __fastcall TForm1::Button1Click(TObject *Sender) //初始化{   WinExec("calc.exe",SW_SHOW);  //运行计算器   Sleep(200);  ahd=FindWindow(NULL,"计算器");  //找到窗口   if (ahd==NULL)   {      ShowMessage("Not Find!");      return;   }}//---------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender) //后台运行{ if (ahd==NULL)   {     return;   }   ShowWindow(ahd,SW_HIDE);  //隐藏窗口}//---------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender) //变为前台{ if (ahd==NULL)   {     return;   }   ShowWindow(ahd,SW_SHOW);  //显示窗口}//----
[解决办法]
C/C++ code
//Unit.h写如下声明void __fastcall WndProc(TMessage &Msg);BEGIN_MESSAGE_MAPMESSAGE_HANDLER(WM_CLOSE,TMessage,OnHotKey)END_MESSAGE_MAP(TForm) 

热点排行