home *** CD-ROM | disk | FTP | other *** search
- unit Regwrap;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs,Regform;
-
- type
- TRegistorCheck = class(TComponent)
- private
- { Private declarations }
- function DelphiIsRunning : boolean;
- protected
- { Protected declarations }
- public
- { Public declarations }
- function Execute: Boolean;
- published
- { Published declarations }
- end;
- var
- RegBox : TRegBox;
-
- procedure Register;
-
- implementation
-
- procedure Register;
- begin
- RegisterComponents('Plugins', [TRegistorCheck]);
- end;
-
- function TRegistorCheck.Execute: boolean;
- begin
- if not DelphiIsRunning then
- begin
- RegBox := TRegBox.create(Application);
- try
- Result := (RegBox.ShowModal = IDOK);
- Finally
- RegBox.Free;
- end;{try block}
- end;
- end;
-
- function TRegistorCheck.DelphiIsRunning : boolean;
- var
- H1, H2, H3, H4 : Hwnd;
- const
- A1 : array[0..12] of char = 'TApplication'#0;
- A2 : array[0..15] of char = 'TAlignPalette'#0;
- A3 : array[0..18] of char = 'TPropertyInspector'#0;
- A4 : array[0..11] of char = 'TAppBuilder'#0;
- T1 : array[0..6] of char = 'Delphi'#0;
- begin
- H1 := FindWindow(A1, T1);
- H2 := FindWindow(A2, nil);
- H3 := FindWindow(A3, nil);
- H4 := FindWindow(A4, nil);
- Result := (H1 <> 0) and (H2 <> 0) and
- (H3 <> 0) and (H4 <> 0);
- end;
-
- end.
-