入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

C++builder 只运行窗口程序而不显示该窗口程序

创建时间:2014-11-17 投稿人: 浏览次数:1312

1、有的时候想快速生成一个可以执行一般程序的exe文件,而不获取任何焦点,不影响用户的程序。可以在名字和工程名一样的那个cpp文件(默认的是project1.cpp)中添加这两条语句:

Application->ShowMainForm = false;
ShowWindow(Application->Handle,SW_HIDE);

并把form的visible属性设置为false(这一步很重要)

project1.cpp中的代码具体如下:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    try
    {
         Application->Initialize();
         Application->CreateForm(__classid(TForm1), &Form1);

         //-------隐藏窗口---------------------------------
         Application->ShowMainForm = false;
         ShowWindow(Application->Handle,SW_HIDE);
         //------------------------------------------------

         Application->Run();
    }
    catch (Exception &exception)
    {
         Application->ShowException(&exception);
    }
    catch (...)
    {
         try
         {
             throw Exception("");
         }
         catch (Exception &exception)
         {
             Application->ShowException(&exception);
         }
    }
    return 0;
}
//---------------------------------------------------------------------------

2、如果想再重新显示,可以这样操作:

ShowWindow(Application->Handle, SW_SHOW);
Application->MainForm->Visible = true;

或者在void __fastcall TForm1::FormCreate(TObject *Sender)这个方法中只用这一句话:

Form1->Visible=true;


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。