1 | UNIT Unit1; |
---|
2 | INTERFACE |
---|
3 | USES |
---|
4 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
---|
5 | Dialogs, StdCtrls, CrossEdit, Math, ExtCtrls; |
---|
6 | |
---|
7 | TYPE |
---|
8 | TForm1 = Class(TForm) |
---|
9 | grp_center: TGroupBox; |
---|
10 | group_setxy: TGroupBox; |
---|
11 | btn_center: TButton; |
---|
12 | edit_x: TCrossEdit; |
---|
13 | edit_y: TCrossEdit; |
---|
14 | btn_setxy: TButton; |
---|
15 | group_black: TGroupBox; |
---|
16 | btn_black: TButton; |
---|
17 | timer_check: TTimer; |
---|
18 | PROCEDURE timer_checkTimer(Sender: TObject); |
---|
19 | PROCEDURE btn_blackClick(Sender: TObject); |
---|
20 | PROCEDURE btn_setxyClick(Sender: TObject); |
---|
21 | PROCEDURE FormCreate(Sender: TObject); |
---|
22 | PROCEDURE btn_centerClick(Sender: TObject); |
---|
23 | PROCEDURE Button1Click(Sender: TObject); |
---|
24 | PRIVATE |
---|
25 | PUBLIC |
---|
26 | END; |
---|
27 | |
---|
28 | VAR |
---|
29 | Form1: TForm1; |
---|
30 | |
---|
31 | IMPLEMENTATION |
---|
32 | USES Unit2; |
---|
33 | {$R *.dfm} |
---|
34 | VAR |
---|
35 | ONIHandle:LongWord; |
---|
36 | |
---|
37 | PROCEDURE TForm1.Button1Click(Sender: TObject); |
---|
38 | BEGIN |
---|
39 | ONIHandle:=FindWindow(PChar('ONI '),PChar('ONI ')); |
---|
40 | Form1.Caption:=IntToStr(ONIHandle); |
---|
41 | END; |
---|
42 | |
---|
43 | PROCEDURE TForm1.btn_centerClick(Sender: TObject); |
---|
44 | VAR |
---|
45 | Handle,NewX,NewY:LongWord; |
---|
46 | Screen,Cur:TRect; |
---|
47 | ScreenWidth,ScreenHeight,Width,Height:LongWord; |
---|
48 | BEGIN |
---|
49 | Handle:=FindWindow(PChar('ONI '),PChar('ONI ')); |
---|
50 | IF Handle>0 THEN BEGIN |
---|
51 | GetWindowRect(Handle,Cur); |
---|
52 | GetWindowRect(GetDesktopWindow,Screen); |
---|
53 | ScreenWidth:=Screen.Right-Screen.Left; |
---|
54 | ScreenHeight:=Screen.Bottom-Screen.Top; |
---|
55 | Width:=Cur.Right-Cur.Left; |
---|
56 | Height:=Cur.Bottom-Cur.Top; |
---|
57 | IF (Width<ScreenWidth) AND (Height<ScreenHeight) THEN BEGIN |
---|
58 | NewX:=(ScreenWidth DIV 2)-(Width DIV 2); |
---|
59 | NewY:=(ScreenHeight DIV 2)-(Height DIV 2); |
---|
60 | IF NOT SetWindowPos(Handle,0,NewX,NewY,0,0,SWP_NOSIZE OR SWP_NOACTIVATE OR SWP_NOZORDER) THEN |
---|
61 | ShowMessage('Couldn''t set the position of ONIs window!'); |
---|
62 | END ELSE ShowMessage('ONIs window is at fullscreen!'); |
---|
63 | END ELSE ShowMessage('Couldn''t find ONIs window!'); |
---|
64 | END; |
---|
65 | |
---|
66 | PROCEDURE TForm1.FormCreate(Sender: TObject); |
---|
67 | VAR |
---|
68 | Screen:TRect; |
---|
69 | BEGIN |
---|
70 | GetWindowRect(GetDesktopWindow,Screen); |
---|
71 | edit_x.Max:=Screen.Right; |
---|
72 | edit_y.Max:=Screen.Bottom; |
---|
73 | edit_x.BorderStyle:=bsSingle; |
---|
74 | edit_y.BorderStyle:=bsSingle; |
---|
75 | END; |
---|
76 | |
---|
77 | PROCEDURE TForm1.btn_setxyClick(Sender: TObject); |
---|
78 | VAR |
---|
79 | Handle:LongWord; |
---|
80 | BEGIN |
---|
81 | IF edit_x.CheckError THEN BEGIN |
---|
82 | ShowMessage('x-value has to be between 0 and '+IntToStr(Floor(edit_x.Max))+'!'); |
---|
83 | Exit; |
---|
84 | END; |
---|
85 | IF edit_y.CheckError THEN BEGIN |
---|
86 | ShowMessage('y-value has to be between 0 and '+IntToStr(Floor(edit_y.Max))+'!'); |
---|
87 | Exit; |
---|
88 | END; |
---|
89 | Handle:=FindWindow(PChar('ONI '),PChar('ONI ')); |
---|
90 | IF Handle>0 THEN BEGIN |
---|
91 | IF NOT SetWindowPos(Handle,0,edit_x.GetInteger,edit_y.GetInteger,0,0,SWP_NOSIZE OR SWP_NOACTIVATE OR SWP_NOZORDER) THEN |
---|
92 | ShowMessage('Couldn''t set the position of ONIs window!'); |
---|
93 | END ELSE ShowMessage('Couldn''t find ONIs window!'); |
---|
94 | END; |
---|
95 | |
---|
96 | PROCEDURE TForm1.btn_blackClick(Sender: TObject); |
---|
97 | BEGIN |
---|
98 | IF FindWindow(PChar('ONI '),PChar('ONI '))>0 THEN BEGIN |
---|
99 | Form2.Visible:=NOT Form2.Visible; |
---|
100 | SetForeGroundWindow(FindWindow(PChar('ONI '),PChar('ONI '))); |
---|
101 | END; |
---|
102 | END; |
---|
103 | |
---|
104 | PROCEDURE TForm1.timer_checkTimer(Sender: TObject); |
---|
105 | BEGIN |
---|
106 | IF Form2.Visible THEN BEGIN |
---|
107 | IF FindWindow(PChar('ONI '),PChar('ONI '))=0 THEN Form2.Visible:=False; |
---|
108 | END; |
---|
109 | END; |
---|
110 | |
---|
111 | END. |
---|