1. 如何实现在程序运行时隐藏窗体?也就是传说中最小化到托盘的启动方式?
2. 如何用代码读出本程序的版本号和程序名?(已经在“工程设置”中设定)

解决方案 »

  1.   

    1.Application.ShowMainForm := False; ????
    2.读当前程序的资源, 版本号和程序名,保存在资源里面.
      

  2.   

    下面是第二个问题的代码:
    uses
      Windows, SysUtils, Classes, Forms, DateUtils, DB, ADODB, StrUtils, ActiveX, StdCtrls, Variants, ComObj;
    ...
    function hGetAppVersion: string;  // 取得版本号码
    var
      VerInfoSize: DWORD;
      VerInfo: Pointer;
      VerValueSize: DWORD;
      VerValue: PVSFixedFileInfo;
      Dummy: DWORD;
      V1: Word;
      V2, V3, V4: Word;
    begin
      VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)),Dummy);
      if VerInfoSize = 0 then
        begin
          Dummy := GetLastError;
          Result := '2006-11-30';
        end
      else begin
        GetMem(VerInfo, VerInfoSize);
        GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
        VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
        with VerValue^ do begin
          V1 := dwFileVersionMS shr 16;
          V2 := dwFileVersionMS and $FFFF;
          V3 := dwFileVersionLS shr 16;
          V4 := dwFileVersionLS and $FFFF;
        end;
        Result := IntToStr(V2) + '-' + FormatFloat('00',V3) + '-' + FormatFloat('00',V4);
        FreeMem(VerInfo, VerInfoSize);
      end;
    end;
      

  3.   

    1、用第三方控件吧,很轻松的,比如RX的RXtrayIcon
    2、project/options/version info