ホーム > カテゴリ > C/C++ >

コントロールパネルアプリケーションを起動する(C/C++版)

コントロールパネルアプリケーションを起動するサンプルです。

サンプルの実行画面

ソースコード

[Sample89.c]

//--------------------------------------------------------------------------------------
//  ■コントロールパネルアプリケーションを起動する■ Sample NO.89
//
//--------------------------------------------------------------------------------------

#include <windows.h>

#define IDD_DIALOG 101
#define IDB_1     1000
#define IDB_2     1001
#define IDB_3     1002

//コールバックプロシージャ
LRESULT CALLBACK DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

/////////////////////////////////////////////////////////////////////////////////
//
//  WinMain  
//
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{    
 DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), 0, (DLGPROC)DialogProc);
 return (0);
}

/////////////////////////////////////////////////////////////////////////////////
//
//  DialogProc  
//
LRESULT CALLBACK DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  
  switch (uMsg) 
    {
     case WM_COMMAND:   
         switch (LOWORD(wParam)) 
         {            
                case IDB_1:
                   //コントロールパネル
                   WinExec("RUNDLL32.EXE SHELL32.DLL,Control_RunDLL",SW_SHOW);
                   break;
                   case IDB_2:
                   //アプリケーションの追加と削除のプロパティ
                   WinExec("RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Appwiz.cpl",SW_SHOW);
                   break;
                case IDB_3:
                   //画面のプロパティ
                   WinExec("RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Desk.cpl",SW_SHOW);
                   break;
                case 2:
                    EndDialog(hwnd, 2); 
                    break;    

                default: return FALSE;    
         }
     default: return FALSE; 
   } 
 return TRUE;
}

/*
<その他のコントールアプリケーション>

※システムによっては存在しないものがありますのでご自分の環境とにらめっこして下さい。

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Inetcpl.cpl
 インターネットのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Intl.cpl
 地域のプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Joy.cpl
 ゲームのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Main.cpl
 マウスのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Mlcfg32.cpl
 メールとファックス

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Mmsys.cpl
 マルチメディアのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Modem.cpl
 新しいモデムのインストール

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Infrared.cpl
 赤外線モニタ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Netcpl.cpl
 ネットワーク

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Password.cpl
 パスワードのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Powercfg.cpl 
 電源の管理のプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Sticpl.cpl
 スキャナとカメラのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL  Sysdm.cpl
 システムのプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Timedate.cpl
 日付と時刻のプロパティ

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Wgpocpl.cpl
 Microsoftワークグループポスト管理

 RUNDLL32.EXE SHELL32.DLL,Control_RunDLL Access.cpl
 ユーザー補助のプロパティ

*/






ソースコード一式のダウンロード

capi_sample89.zip 1,531 バイト

動作環境

このサンプルは 「Windows98」及び「Microsoft Visual C++5.0」「Borland C++ Compiler 5.5」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。

Visual C++5.0でのコンパイル

VC5.0でサンプルをコンパイルする場合は新規プロジェクト(Win32Application)を作成後、各ファイルを追加してビルドしてください。

Borland C++ Compiler 5.5でのコンパイル

BCC5.5でサンプルをコンパイルする場合は「bcc32.exe」で*.c又は*.cppファイルをコンパイルします。リソースがある場合は「brc32.exe」で*resファイルを付与してください。

サンプルについて

このWindows APIサンプル集(C/C++版)は2000年頃にC/C++言語の学習の為に作成したものです。コードはエレガントではなく「初心者レベルのコーディング」です。仕事などの業務で利用する際にはエラー処理やメモリ解放などの再確認を必ずして下さい。





関連記事



公開日:2015年03月19日
記事NO:00545