-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCustomMenu.dpr
More file actions
104 lines (84 loc) · 3.11 KB
/
CustomMenu.dpr
File metadata and controls
104 lines (84 loc) · 3.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
{ CustomMenu
Copyright (C) 2022 Baz Cuda
https://github.com/BazzaCuda/CustomMenu
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
}
program CustomMenu;
{$WEAKLINKRTTI ON} // don't include extended RTTI for unused types
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} // don't include extended RTTI for used types
{$M-} // enables the published keyword
{$ifopt D+}
{$define useMadExcept}
{$endif}
uses
{$ifdef useMadExcept}
madExcept,
madLinkDisAsm,
madListHardware,
madListProcesses,
madListModules,
{$endif}
Vcl.Forms,
FormCustomMenu in 'FormCustomMenu.pas' {CustomMenu},
Winapi.Hooks in 'Winapi.Hooks.pas',
CustomMenuCommon in 'CustomMenuCommon.pas',
_debugWindow in '..\DebugWindow\_debugWindow.pas',
FormIconExplorer in 'FormIconExplorer.pas' {IconExplorerForm},
winShell in 'winShell.pas',
runElevatedSupport in 'runElevatedSupport.pas',
shellFoldersDef in 'shellFoldersDef.pas',
mmcDef in 'mmcDef.pas',
mmcServerDef in 'mmcServerDef.pas',
cpl1Def in 'cpl1Def.pas',
cpl2Def in 'cpl2Def.pas',
rundll32Def in 'rundll32Def.pas',
msSettingsDef in 'msSettingsDef.pas',
shellGuidsDef in 'shellGuidsDef.pas',
FormHotkeys in 'FormHotkeys.pas' {HotkeyForm},
FormConfig in 'FormConfig.pas',
TBevelClass in 'TBevelClass.pas';
{$R *.res}
procedure setupRunMode;
begin
{$if BazDebugWindow} debugClear;
{$ifndef useMadExcept}
reportMemoryLeaksOnShutdown := TRUE;
debugBoolean('reportMemoryLeaksOnShutdown', reportMemoryLeaksOnShutdown);
{$endif}
{$endif}
{$ifdef useMadExcept}
// madExcept.SetLeakReportFile(extractFilePath(paramStr(0)) + 'madExcept.log'); // this suppresses the dialog
madExcept.reportLeaks := TRUE;
madExcept.showNoLeaksWindow(TRUE);
madExcept.dontHookThreads;
var vThreadList := madExcept.getThreadList;
for var i := low(vThreadList) to high(vThreadList) do
madExcept.thisIsNoLeak(vThreadList[i]);
// madExcept.HookThreads;
{$endif}
end;
begin
setupRunMode;
case hasParamSingle and alreadyRunning of TRUE: begin
case hasParamShowMenu of TRUE: findCustomMenu; end;
EXIT; end;end;
// createMiniIni;
Application.Initialize;
Application.MainFormOnTaskbar := TRUE;
try
Application.CreateForm(TCustomMenu, mainMenu);
// try to get the IDE to leave this line alone!
finally end;
mainMenu.ctrlClickActivate := ctrlClickToActivate;
Application.Run;
end.