…申し訳ありません、ソースの添付を忘れておりました。
// *********** 以下ソース ************************************************************
// *** main.cpp *** ///////////////////////
#include "header.h"
bool GameFlag;
int WINAPI WinMain(省略)
{
ChangeWindowMode(TRUE); // Windowモードに変更
if(DxLib_Init() == -1) return -1; // DXライブラリの初期化
SetHookWinProc(WndProc_Main); // Init後に宣言、メッセージをフックするプロシージャの指定
SetDrawScreen(DX_SCREEN_BACK); // 基本描写先を裏画面に設定
SetAlwaysRunFlag(true); // バックグラウンドでも動作を継続
SetDragFileValidFlag(true); // ファイルのD&Dを許可
GameFlag = true; // ゲームを続けるフラグをtrueに変更
DragFileInfoClear(); // DDファイル情報の初期化
while(GameFlag) {
if(ProcessMessage() == -1) break; // メッセージループに変わる処理
//F_DDFile(); // ■ここで実行すると上手くいく■
ScreenFlip(); // 画面の更新
WaitTimer(10); // 10ms待ち // 不要?
}
DxLib_End(); // DXライブラリ使用の終了処理
return 0 ; // 終了
}
// *** w_proc.cpp *** ///////////////////////
#include "header.h"
// 外部グローバル変数
extern bool GameFlag; // ゲームループ判断フラグ、終了時に折る
LRESULT CALLBACK WndProc_Main(省略)
{
switch(msg) {
case WM_DESTROY:
GameFlag = false;
//PostQuitMessage(0);
return 0;
case WM_LBUTTONUP: // 左クリックで終了
PostMessage(hwnd, WM_CLOSE, wp, lp);
return 0;
case WM_DROPFILES:
ClearDrawScreen();
F_DDFile(); // ■ここで実行するとうまくいかない■
return 0;
}
//return DefWindowProc(hwnd, msg, wp, lp);
return 0;
}
// *** common.cpp *** ///////////////////////
#include "header.h"
void F_MB(char* mes)
{ // メッセージボックスを表示する
MessageBox(GetMainWindowHandle(), mes, "確認", MB_OK);
return;
}
void F_DDFile(void)
{ // DDファイルの処理
int num = 0; // DDファイルの数を格納
char path[256]; // DDファイルのパスを格納
while(GetDragFilePath(path) == 0) { // DDファイルが存在する場合
num = GetDragFileNum(); // DDファイルの数を取得
DrawFormatString(0, num*30, COL_WHITE, "ドロップされたファイルの数:%d", num);
DrawFormatString(0, num*30+15, COL_WHITE, "パス:%s", path);
WaitTimer(1); // 念のため
}
DragFileInfoClear(); // DDファイル情報の初期化
return;
}
// *** header.h *** ///////////////////////
#include "DxLib.h"
#define COL_WHITE GetColor(255, 255, 255) // 白
LRESULT CALLBACK WndProc_Main(HWND, UINT, WPARAM, LPARAM);
void F_MB(char*);
void F_DDFile(void);
// *********** 以上ソース ************************************************************
以上となります、よろしくお願いいたします。