program WM_ScreenSaver_NET;

{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.dll'}
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.Data.dll'}
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.Drawing.dll'}
{%DelphiDotNetAssemblyCompiler '$(SystemRoot)\microsoft.net\framework\v1.1.4322\System.XML.dll'}
{%DelphiDotNetAssemblyCompiler 'c:\program files\common files\borland shared\bds\shared assemblies\3.0\Borland.Vcl.dll'}
{%DelphiDotNetAssemblyCompiler 'c:\program files\common files\borland shared\bds\shared assemblies\3.0\Borland.Delphi.dll'}
{%DelphiDotNetAssemblyCompiler 'c:\program files\common files\borland shared\bds\shared assemblies\3.0\Borland.VclRtl.dll'}

uses
  System.Reflection,
  System.Runtime.CompilerServices,
  SysUtils,
  Forms,
  Dialogs,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$E scr}

{$D SCRNSAVE WM_ScreenSaver} //w nowszych wersjach Windows ten opis jest ignorowany
{$R *.res}

{$REGION 'Program/Assembly Information'}
//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//

[assembly: AssemblyDescription('WM_ScreenSaver .NET, Wygaszacz ekranu')]
[assembly: AssemblyConfiguration('')]
[assembly: AssemblyCompany('')]
[assembly: AssemblyProduct('WM_ScreenSaver .NET')]
[assembly: AssemblyCopyright('(c) Jacek Matulewski 2005')]
[assembly: AssemblyTrademark('')]
[assembly: AssemblyCulture('')]

// The Delphi compiler controls the AssemblyTitleAttribute via the ExeDescription.
// You can set this in the IDE via the Project Options.
// Manually setting the AssemblyTitle attribute below will override the IDE
// setting.
// [assembly: AssemblyTitle('')]


//
// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:

[assembly: AssemblyVersion('1.0.*')]

//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
//   (*) If no key is specified, the assembly is not signed.
//   (*) KeyName refers to a key that has been installed in the Crypto Service
//       Provider (CSP) on your machine. KeyFile refers to a file which contains
//       a key.
//   (*) If the KeyFile and the KeyName values are both specified, the
//       following processing occurs:
//       (1) If the KeyName can be found in the CSP, that key is used.
//       (2) If the KeyName does not exist and the KeyFile does exist, the key
//           in the KeyFile is installed into the CSP and used.
//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
//       When specifying the KeyFile, the location of the KeyFile should be
//       relative to the project output directory which is
//       Project Directory\bin\<configuration>. For example, if your KeyFile is
//       located in the project directory, you would specify the AssemblyKeyFile
//       attribute as [assembly: AssemblyKeyFile('..\\..\\mykey.snk')]
//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
//       documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile('')]
[assembly: AssemblyKeyName('')]
{$ENDREGION}

var ParamStr1 :String ='';

[STAThread]
begin
  Application.Initialize;
  Application.Title:='WM_ScreenSaver .NET';

  if (ParamCount>0) then ParamStr1:=LowerCase(Copy(ParamStr(1),1,2));

if (ParamStr1='/c') or (ParamCount=0) then
    begin
    //ShowMessage(Application.Title+#13+'(c) Jacek Matulewski 2005'+#13+#13+'e-mail: jacek@phys.uni.torun.pl'+#13+'WWW: http://www.phys.uni.torun.pl/~jacek');
    Application.CreateForm(TForm2, Form2);
  Application.Run;
    end;

  if ParamStr1='/p' then
    begin
    //podglad wygaszacza ekranu
    Application.CreateForm(TForm1, Form1);
    Form1.PodepnijOkno(StrToIntDef(ParamStr(2),0));
    Application.Run;
    end;

  if ParamStr1='/a' then
    begin
    //ustawianie hasła w Windows 95, nie zaimplementowane
    Application.MessageBox('Changing of the screen saver password is not supported',Application.Title,48);
    end;

  if ParamStr1='/s' then
    begin
    //uruchamianie wygaszacza ekranu
    Application.CreateForm(TForm1, Form1);
    Application.Run;
    end;
end.
