appwiz.cpl: Add skeleton Add/Remove Programs control panel.
[wine/gsoc_dplay.git] / dlls / appwiz.cpl / appwiz.c
blob76658de5a74049bb88281881b05089c8558dafc4
1 /*
2 * Add/Remove Programs applet
3 * Partially based on Wine Uninstaller
5 * Copyright 2000 Andreas Mohr
6 * Copyright 2004 Hannu Valtonen
7 * Copyright 2005 Jonathan Ernst
8 * Copyright 2001-2002, 2008 Owen Rudge
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2.1 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
26 #include "config.h"
27 #include "wine/port.h"
28 #include "wine/unicode.h"
29 #include "wine/debug.h"
31 #include <string.h>
32 #include <stdlib.h>
33 #include <stdarg.h>
34 #include <stdio.h>
35 #include <windef.h>
36 #include <winbase.h>
37 #include <winuser.h>
38 #include <wingdi.h>
39 #include <winreg.h>
40 #include <shellapi.h>
41 #include <cpl.h>
43 #include "res.h"
45 WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
47 static HINSTANCE hInst;
49 /******************************************************************************
50 * Name : DllMain
51 * Description: Entry point for DLL file
53 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
54 LPVOID lpvReserved)
56 TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
58 switch (fdwReason)
60 case DLL_PROCESS_ATTACH:
61 hInst = hinstDLL;
62 break;
64 return TRUE;
67 /******************************************************************************
68 * Name : CPlApplet
69 * Description: Entry point for Control Panel applets
70 * Parameters : hwndCPL - hWnd of the Control Panel
71 * message - reason for calling function
72 * lParam1 - additional parameter
73 * lParam2 - additional parameter
74 * Returns : Dependant on message
76 LONG CALLBACK CPlApplet(HWND hwndCPL, UINT message, LPARAM lParam1, LPARAM lParam2)
78 switch (message)
80 case CPL_INIT:
81 return TRUE;
83 case CPL_GETCOUNT:
84 return 1;
86 case CPL_INQUIRE:
88 CPLINFO *appletInfo = (CPLINFO *) lParam2;
90 appletInfo->idIcon = ICO_MAIN;
91 appletInfo->idName = IDS_CPL_TITLE;
92 appletInfo->idInfo = IDS_CPL_DESC;
93 appletInfo->lData = 0;
95 break;
99 return FALSE;