@@ -1997,36 +1997,40 @@ class DialogEvent
1997
1997
1998
1998
// ドロップされたファイル数を取得
1999
1999
UINT FileNum = DragQueryFile ((HDROP)wParam, 0xFFFFFFFF , szTmp, _countof (szTmp));
2000
- if (FileNum == 1 )
2000
+ if (FileNum > 0 )
2001
2001
{
2002
- DragQueryFile ((HDROP)wParam, 0 , szTmp, _countof (szTmp));
2003
- szTmp[_countof (szTmp) - 1 ] = TEXT (' \0 ' );
2004
-
2005
- OnSetInputFilePath (szTmp);
2006
- }
2007
- else if (FileNum > 1 )
2008
- {
2009
- input_str_multi.clear ();
2002
+ if (FileNum == 1 )
2003
+ {
2004
+ DragQueryFile ((HDROP)wParam, 0 , szTmp, _countof (szTmp));
2005
+ szTmp[_countof (szTmp) - 1 ] = TEXT (' \0 ' );
2010
2006
2011
- for (UINT i = 0 ; i < FileNum; i++)
2007
+ OnSetInputFilePath (szTmp);
2008
+ }
2009
+ else if (FileNum > 1 )
2012
2010
{
2013
- TCHAR szTmp[AR_PATH_MAX];
2011
+ input_str.clear ();
2012
+ input_str_multi.clear ();
2014
2013
2015
- if ( DragQueryFile ((HDROP)wParam, i, szTmp, _countof (szTmp)) < _countof (szTmp) )
2014
+ for (UINT i = 0 ; i < FileNum; i++ )
2016
2015
{
2017
- szTmp[_countof (szTmp) - 1 ] = TEXT (' \0 ' );
2016
+ TCHAR szTmp[AR_PATH_MAX];
2017
+
2018
+ if (DragQueryFile ((HDROP)wParam, i, szTmp, _countof (szTmp)) < _countof (szTmp))
2019
+ {
2020
+ szTmp[_countof (szTmp) - 1 ] = TEXT (' \0 ' );
2018
2021
2019
- input_str_multi.push_back (szTmp);
2022
+ input_str_multi.push_back (szTmp);
2023
+ }
2020
2024
}
2021
- }
2022
2025
2023
- OnSetInputFilePath ();
2024
- }
2026
+ OnSetInputFilePath ();
2027
+ }
2025
2028
2026
- if (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0 , 0 ) ||
2027
- (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0 , 0 ) && input_str_multi.size () > 0 ))
2028
- {
2029
- ::PostMessage (GetDlgItem(dh, IDC_BUTTON_EXEC), BM_CLICK, 0, 0);
2029
+ if (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0 , 0 ) ||
2030
+ (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0 , 0 ) && (input_str_multi.size () > 0 || boost::filesystem::is_directory (szTmp))))
2031
+ {
2032
+ ::PostMessage (GetDlgItem(dh, IDC_BUTTON_EXEC), BM_CLICK, 0, 0);
2033
+ }
2030
2034
}
2031
2035
2032
2036
return 0L ;
@@ -2130,13 +2134,14 @@ class DialogEvent
2130
2134
{
2131
2135
szFile[szFile.size () - 1 ] = TEXT (' \0 ' );
2132
2136
2133
- input_str_multi.clear ();
2134
-
2135
2137
const TCHAR * ptr = szFile.data ();
2136
2138
2137
2139
const auto firstLen = _tcslen (ptr);
2138
2140
if (firstLen > 0 )
2139
2141
{
2142
+ input_str.clear ();
2143
+ input_str_multi.clear ();
2144
+
2140
2145
if (firstLen + 2 >= szFile.size () || ptr[firstLen + 1 ] == ' \0 ' )
2141
2146
OnSetInputFilePath (ptr);
2142
2147
else
@@ -2167,8 +2172,8 @@ class DialogEvent
2167
2172
OnSetInputFilePath ();
2168
2173
}
2169
2174
2170
- if (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0 , 0 ) ||
2171
- (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0 , 0 ) && input_str_multi.size () > 0 ))
2175
+ if ( SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_ONE), BM_GETCHECK, 0 , 0 ) ||
2176
+ (SendMessage (GetDlgItem (dh, IDC_RADIO_AUTO_START_MULTI), BM_GETCHECK, 0 , 0 ) && ( input_str_multi.size () > 0 || boost::filesystem::is_directory (szFile. data ())) ))
2172
2177
{
2173
2178
::PostMessage (GetDlgItem(dh, IDC_BUTTON_EXEC), BM_CLICK, 0, 0);
2174
2179
}
0 commit comments