|
|
1.1 root 1: /****************************************************************************
2:
3: PROGRAM: NTGREP.C
4:
5: PURPOSE: Installation application for the search browse file manager extension
6:
7: FUNCTIONS:
8:
9:
10: ****************************************************************************/
11:
12: #include <windows.h>
13: #include <string.h>
14: #include "ntgrep.h"
15:
16: HINSTANCE hInst;
17:
18:
19: #define INITCLASSNAME "SearchInitClass"
20:
21: LONG APIENTRY MainWndProc(
22: HWND hWnd,
23: UINT message,
24: UINT wParam,
25: LONG lParam);
26:
27:
28: BOOL APIENTRY About(
29: HWND hDlg,
30: UINT message,
31: UINT wParam,
32: LONG lParam);
33:
34: BOOL InitApplication(HINSTANCE hInstance);
35: BOOL InitInstance(
36: HINSTANCE hInstance,
37: int nCmdShow);
38:
39:
40: int PASCAL WinMain(
41: HINSTANCE hInstance,
42: HINSTANCE hPrevInstance,
43: LPSTR lpCmdLine,
44: int nCmdShow
45: )
46: {
47:
48: MSG msg;
49:
50: UNREFERENCED_PARAMETER( lpCmdLine );
51:
52: if (!hPrevInstance)
53: if (!InitApplication((HINSTANCE)hInstance))
54: return (FALSE);
55:
56:
57: if (!InitInstance((HINSTANCE)hInstance, nCmdShow))
58: return (FALSE);
59:
60:
61: while (GetMessage(&msg,NULL,0,0))
62: {
63: TranslateMessage(&msg);
64: DispatchMessage(&msg);
65: }
66: return (msg.wParam);
67: }
68:
69:
70:
71: BOOL InitApplication(HINSTANCE hInstance)
72: {
73: WNDCLASS wc;
74: wc.style = 0;
75: wc.lpfnWndProc = (WNDPROC)MainWndProc;
76:
77: wc.cbClsExtra = 0;
78: wc.cbWndExtra = 0;
79: wc.hInstance = hInstance;
80: wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
81: wc.hCursor = LoadCursor(NULL, IDC_ARROW);
82: wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
83: wc.lpszMenuName = "GrepMenu";
84: wc.lpszClassName = INITCLASSNAME;
85:
86: return (RegisterClass(&wc));
87:
88: }
89:
90:
91: BOOL InitInstance(HINSTANCE hInstance,int nCmdShow)
92: {
93: HWND hWnd;
94:
95:
96: hInst = hInstance;
97:
98: hWnd = CreateWindow(
99: INITCLASSNAME,
100: "File Search Installer",
101: WS_OVERLAPPEDWINDOW,
102: CW_USEDEFAULT,
103: CW_USEDEFAULT,
104: CW_USEDEFAULT,
105: CW_USEDEFAULT,
106: NULL,
107: NULL,
108: hInstance,
109: NULL
110: );
111:
112:
113:
114: if (!hWnd)
115: return (FALSE);
116:
117:
118: ShowWindow(hWnd, nCmdShow);
119: UpdateWindow(hWnd);
120: return (TRUE);
121:
122: }
123:
124:
125: LONG APIENTRY MainWndProc(
126: HWND hWnd,
127: UINT message,
128: UINT wParam,
129: LONG lParam)
130: {
131:
132: switch (message) {
133: case WM_COMMAND:
134: switch (LOWORD(wParam))
135: { static char szDirBuff[MAX_PATH+12];
136: case IDM_INSTALL:
137: GetSystemDirectory(szDirBuff,MAX_PATH);
138: strcat(szDirBuff,"\\guigrep.dll");
139: if (!CopyFile("guigrep.dll",szDirBuff,FALSE))
140: { MessageBox(hWnd,"Error copying file to system directory",
141: "Grep setup",MB_OK);
142: break;
143: };
144: WritePrivateProfileString("AddOns","File Grepper",
145: "guigrep.dll","winfile.ini");
146: DialogBox(hInst,"ExplainBox",hWnd,(DLGPROC)About);
147: /* Fall through... (vanity) */
148: case IDM_ABOUT:
149: DialogBox(hInst,"AboutBox",hWnd,(DLGPROC)About);
150: break;
151: case IDM_UNINSTALL:
152: WritePrivateProfileString("AddOns","File Grepper",
153: "","winfile.ini");
154: break;
155:
156: default:
157: return (DefWindowProc(hWnd, message, wParam, lParam));
158: };
159: break;
160: case WM_DESTROY:
161: PostQuitMessage(0);
162: break;
163:
164: default:
165: return (DefWindowProc(hWnd, message, wParam, lParam));
166: }
167: return (0);
168: }
169:
170:
171: BOOL APIENTRY About(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)
172: {
173: switch (message) {
174: case WM_INITDIALOG:
175: return (TRUE);
176:
177: case WM_COMMAND:
178: if (LOWORD(wParam) == IDOK
179: || LOWORD(wParam) == IDCANCEL) {
180: EndDialog(hDlg, TRUE);
181: return (TRUE);
182: }
183: break;
184: }
185: return (FALSE);
186: UNREFERENCED_PARAMETER(lParam);
187: }
188:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.