ホーム > カテゴリ > 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


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律