![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
当方、只今C言語でWin32APIを呼び出し、Windowsアプリを開発中です。
そこで質問なのですが、以下の手順で作業した場合、抽出される実行ファイルが実行できません。
どなたかお分かりになる方、助言の方よろしくお願いします。
1.名前、住所をリッチテキストに入力し、OKボタンを押下後、メッセージボックス にて”○○さんの住所は○○です”と表示されるソースコードを"bcc32 -W source.cpp"でコンパイル。
2.BCCFormで作成したリソースファイルを"brc32 dialog.rc source.exe"で結合。
3.source.exeを実行するが、動作しない。
ちなみに環境はWindowsXPSP3です。
下記にまず、ソースコードを表示します。
/* ソース */
/* ファイル名 source.cpp */
#if 1
/* ダイアログボックスを出す */
#include <windows.h>
#include "Resdialog.h"
BOOL CALLBACK MyDlgProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(
HINSTANCE hCurInst,
HINSTANCE hPrevInst,
LPSTR lpsCmdLine,
int nCmdShow)
{
DialogBox(hCurInst, "MYDLG", NULL, (DLGPROC)MyDlgProc);
return 0;
}
BOOL CALLBACK MyDlgProc(HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{
char szBuf[128], szBuf1[64], szBuf2[64];
switch(msg){
case WM_COMMAND:
switch (LOWORD(wp)){
case IDCANCEL:
EndDialog(hDlg, IDCANCEL);
return TRUE;
case IDOK:
GetDlgItemText(hDlg, IDC_RICHEDIT102, szBuf1, (int)sizeof(szBuf1));
GetDlgItemText(hDlg, IDC_RICHEDIT103, szBuf2, (int)sizeof(szBuf2));
wsprintf(szBuf, "あなたの住所は%sで、氏名は%sです", szBuf1, szBuf2);
MessageBox(hDlg, szBuf, "ダイアログボックス", MB_OK);
return TRUE;
}
return FALSE;
}
return FALSE;
}
#endif
そして、リソーススクリプトです。
/* リソーススクリプト */
/* ファイル名 dialog.rc */
//-----------------------------------------
// BCCForm Ver 2.41
// An Easy Resource Editor for BCC
// Copyright (c) February 2002 by ysama
//-----------------------------------------
#include"Resdialog.h"
//----------------------------------
// ダイアログ (MYDLG)
//----------------------------------
MYDLG DIALOG DISCARDABLE 0, 0, 270, 117
EXSTYLE WS_EX_DLGMODALFRAME
STYLE WS_POPUP | WS_THICKFRAME | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | DS_SETFONT
CAPTION "Form"
FONT 8, "MS 明朝"
{
CONTROL "名前", IDC_LABEL100, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 10, 10, 46, 18
CONTROL "住所", IDC_LABEL101, "STATIC", WS_CHILD | WS_VISIBLE | SS_NOTIFY, 10, 41, 47, 17
CONTROL "", IDC_RICHEDIT102, "RICHEDIT", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | ES_MULTILINE | ES_WANTRETURN | ES_AUTOVSCROLL | ES_AUTOHSCROLL, 88, 8, 159, 25
CONTROL "", IDC_RICHEDIT103, "RICHEDIT", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | ES_MULTILINE | ES_WANTRETURN | ES_AUTOVSCROLL | ES_AUTOHSCROLL, 88, 40, 160, 24
CONTROL "OK", IDOK, "BUTTON", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 49, 85, 61, 18
CONTROL "Cancell", IDCANCELL, "BUTTON", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 165, 84, 56, 18
}
そして、リソースヘッダです。
/* リソースヘッダ */
/* ファイル名Resdialog.h */
//-----------------------------------------
// BCCForm Ver 2.41
// Header File for Resource Script File
// Copyright (c) February 2002 by ysama
//-----------------------------------------
//---------------------
// ダイアログリソース
//---------------------
// ダイアログ MYDLG
#defineIDC_LABEL100100
#defineIDC_LABEL101101
#defineIDC_RICHEDIT102102
#defineIDC_RICHEDIT103103
#defineIDCANCELL105
//---------------------
// メニューリソース
//---------------------
//---------------------
// イメージリソース
//---------------------
//---------------------
// ストリングテーブル
//---------------------
//--------------------
// アクセラレーター
//--------------------
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは。
当方はBCCに関しては良くわかりませんが、ダイアログIDの指定方法に問題があって、ダイアログ作成に失敗しているのでは。
(理由は以下URLの7~8氏の回答を参考)
http://oshiete1.goo.ne.jp/qa3251741.html
DialogBox(hCurInst, "MYDLG", NULL, (DLGPROC)MyDlgProc);
ではなく、
DialogBox(hCurInst, MAKEINTRESOURCE(MYDLG), NULL, (DLGPROC)MyDlgProc);
となるのでは。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) コマンドプロンプトでフォルダ内(デスクトップ)の複数PDFファイルの1ページ目だけを印刷したい 1 2022/09/11 23:33
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスを大きくす...
-
MFCダイアログボックスを最前面...
-
コントロールの色の変更
-
VC++2010 最小化のアイコン 無...
-
コンボボックスのドロップダウ...
-
ダイアログの上のテキストボッ...
-
ダイアログの表示位置の保存
-
BCC5.5でコンパイル、BCCFormで...
-
フォーム上のリストボックスに...
-
エディットコントロールの色の...
-
エクセルで作った新しいウイン...
-
グラフの交点の求め方(Excel)
-
Minecraft 統合版(PC)の描画距...
-
「アイテムは収集されました」...
-
コントロールの書式設定で、“コ...
-
ゲームでは結局どっちが良いの?
-
マインクラフト(pc版)で座標...
-
フォントの大きさ
-
コントロール内の文字の背景色
-
UWSCで特定のChromeのタブをア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを大きくす...
-
ボタンの表示の色、フォントを...
-
コンボボックスのドロップダウ...
-
ダイアログの上のテキストボッ...
-
メッセージボックスのボタン文...
-
confirmダイアログの表示文字に...
-
ボタンの配置を変更したい
-
フォーム上のリストボックスに...
-
リソースファイルとは・・・
-
ツールチップの表示
-
MFCダイアログボックスを最前面...
-
【VC++2005(CLR)】ダイアログ右...
-
'int' から 'LPCSTR' に変換で...
-
ダイアログの表示位置の保存
-
vbscriptで、ファイル選択ダイ...
-
エディットボックスの処理で画...
-
ダイアログボックスで指定した...
-
エディットコントロールの色の...
-
【VC++2005】ダイアログサイズ...
-
VC(Ver6.0)でダイアログサイズ...
おすすめ情報