home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 January / Chip_1999-01_cd.bin / zkuste / delphi / D1 / REGISTOR.ZIP / RegWrap.pas < prev   
Pascal/Delphi Source File  |  1995-12-11  |  1KB  |  66 lines

  1. unit Regwrap;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs,Regform;
  8.  
  9. type
  10.   TRegistorCheck = class(TComponent)
  11.   private
  12.     { Private declarations }
  13.     function DelphiIsRunning : boolean;
  14.   protected
  15.     { Protected declarations }
  16.   public
  17.     { Public declarations }
  18.     function Execute: Boolean;
  19.   published
  20.     { Published declarations }
  21.   end;
  22. var
  23.   RegBox : TRegBox;
  24.  
  25. procedure Register;
  26.  
  27. implementation
  28.  
  29. procedure Register;
  30. begin
  31.   RegisterComponents('Plugins', [TRegistorCheck]);
  32. end;
  33.  
  34. function TRegistorCheck.Execute: boolean;
  35. begin
  36.   if not DelphiIsRunning then
  37.   begin
  38.      RegBox := TRegBox.create(Application);
  39.      try
  40.        Result := (RegBox.ShowModal = IDOK);
  41.      Finally
  42.        RegBox.Free;
  43.      end;{try block}
  44.   end;
  45. end;
  46.  
  47. function TRegistorCheck.DelphiIsRunning : boolean;
  48. var
  49.   H1, H2, H3, H4 : Hwnd;
  50. const
  51.   A1 : array[0..12] of char = 'TApplication'#0;
  52.   A2 : array[0..15] of char = 'TAlignPalette'#0;
  53.   A3 : array[0..18] of char = 'TPropertyInspector'#0;
  54.   A4 : array[0..11] of char = 'TAppBuilder'#0;
  55.   T1 : array[0..6] of char = 'Delphi'#0;
  56. begin
  57.   H1 := FindWindow(A1, T1);
  58.   H2 := FindWindow(A2, nil);
  59.   H3 := FindWindow(A3, nil);
  60.   H4 := FindWindow(A4, nil);
  61.   Result := (H1 <> 0) and (H2 <> 0) and
  62.             (H3 <> 0) and (H4 <> 0);
  63. end;
  64.  
  65. end.
  66.