我想做一个程序,只要一起动就最小化,并且不在系统栏和任务栏中显示任何图标,不知道该如何写语句

解决方案 »

  1.   

    ShowWindow(Application.Handle, SW_HIDE);
    Application.Minimize;
      

  2.   

    注意我给的语句的摆放位置!
    放在不同的事件里可能效果不同
    但只要放对,绝对符合你的要求!
    自己去体会吧,对了解tapplication有帮助
      

  3.   

    只要一起动就最小化?
    Application.ShowMainForm:=false;
      

  4.   

    后台运行容易啊:就一句
    ShowWindowAsync(Application.Handle, SW_HIDE);
    win9x,win2000,winNT,应该都看不到了 ,,,不过你还是要设置一下热键,不然你老人家怎么出来用啊?设置热键会吧!!
      

  5.   

    Application.Minimize;
    可以使程序最小化但是你的意思是隐藏。就是没有主窗体的程序。
      

  6.   

    很抱歉,不知道如何设置热键,还希望可以告诉我,没有看到hotkey的设置!!
      

  7.   

    (转载)
      通常在自己的程序里定义热键,只能在自己的应用窗口范围内使用,未免使用起来受到一定的限制。
    如果能在自己的应用程序里定义能被所有窗口访问的热键,应该是比较具有现实意义的。要定义一个全局热键,通常有三个步骤:
      1。定义 Windows 的消息 WM_HOTKEY 的 HOOK 链,即 procedure myshortcut(var message: TMessage);  message WM_HOTKEY;
      2。向 Windows 加入一个全局原子 hotkey : GlobalAddAtom(’hotkey’), 并保留其句柄
      3。向 Windows 登记热键链: RegisterHotKey( 应用句柄,全局原子句柄, mod_control ,88 ); 
    其中,RegisterHotKey 函数原形如下
     
    BOOL RegisterHotKey(
    HWND hWnd, // 连接热键的窗口句柄
    int id, // 全局原子句柄
    UINT fsModifiers, // 热键修饰标志
    UINT vk // 虚拟键盘码
    );
     
      这里,fsModifiers 是指虚拟键盘码 vk 结合何种键一起生成 WM_HOTKEY 的消息,它是下列三值的组合:
    MOD_ALT // ALT 键必须按下
    MOD_CONTROL // CTRL 键必须按下
    MOD_SHIFT // SHIFT 键必须按下
     
      有了这些准备,你就可以定义自己喜欢的方式了。下面是一个范例,当 CTRL + Q 在任何时候被按下时,都会打出 “你好,Crtl + Q 被按下” 的信息。
     
    type
    TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    protected
    procedure myshortcut(var message: TMessage); message WM_HOTKEY;
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;
    var
    Form1: TForm1;
    id:Integer;
    implementation
    {$R *.DFM}
    procedure TForm1.myshortcut(var message: TMessage);
    begin
    ShowMessage(’你好,Crtl + Q 被按下’);
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    id:=GlobalAddAtom(’hotkey’);
    RegisterHotKey(handle,id,mod_control,88);
    end;
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    UnRegisterHotKey(handle,id); //别忘了在退出时取消定义
    end;