| /* |
| * Control |
| * Copyright (C) 1998 by Marcel Baur <mbaur@g26.ethz.ch> |
| * To be distributed under the Wine license |
| */ |
| |
| #include <stdio.h> |
| #include <string.h> |
| #include <windows.h> |
| #include <shellapi.h> |
| #include "params.h" |
| |
| void launch(char what[255]) |
| { |
| HINSTANCE hChild; |
| char szArgs[255]; |
| |
| lstrcpy(szArgs, szEXEC_ARGS); |
| strcat(szArgs, what); |
| |
| hChild = ShellExecute((HWND)0, 0, szEXEC_PREFIX, szArgs, "", SW_SHOWNORMAL); |
| exit(0); |
| } |
| |
| int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, CHAR *szParam, INT argc) |
| { |
| |
| char szParams[255]; |
| lstrcpy(szParams, szParam); |
| CharUpper(szParams); |
| |
| switch (argc) { |
| case 0: /* no parameters - pop up whole "Control Panel" by default */ |
| launch(""); |
| break; |
| |
| case 1: /* check for optional parameter */ |
| if (strcmp(szParams,szP_DESKTOP) ==0) launch(szC_DESKTOP); |
| if (strcmp(szParams,szP_COLOR) ==0) launch(szC_COLOR); |
| if (strcmp(szParams,szP_DATETIME) ==0) launch(szC_DATETIME); |
| if (strcmp(szParams,szP_DESKTOP) ==0) launch(szC_DESKTOP); |
| if (strcmp(szParams,szP_INTERNATIONAL)==0) launch(szC_INTERNATIONAL); |
| if (strcmp(szParams,szP_KEYBOARD) ==0) launch(szC_KEYBOARD); |
| if (strcmp(szParams,szP_MOUSE) ==0) launch(szC_MOUSE); |
| if (strcmp(szParams,szP_PORTS) ==0) launch(szC_PORTS); |
| if (strcmp(szParams,szP_PRINTERS) ==0) launch(szC_PRINTERS); |
| |
| /* couldn't recognize desired panel, going default mode */ |
| launch(""); |
| break; |
| |
| default: printf("Syntax error."); |
| } |
| return 0; |
| } |