A_Salimi
سه شنبه 19 آذر 1387, 16:48 عصر
من قصد دارم آدرس و نام فایل drop شده در یک دیالوگ را بدست آورم لطفا بگید کد زیر چه اشکالی دارد که در بافر اعداد در همی چاپ می شود ؟
void CExprimDlg::OnDropFiles(HDROP hDropInfo)
{
TCHAR st[50];
UINT num=::DragQueryFile(hDropInfo,0xFFFFFFFF,st,50);
CDialog::OnDropFiles(hDropInfo);
}
http://tinypic.info/files/3rnmq6ldsbd1asu8wngd.jpg
ضمنا از چند روش دیگر هم استفاده کردم که مشکل دارند:
مثلا :
CString st;
UINT num=::DragQueryFile(hDropInfo,0xFFFFFFFF,st.GetBuf fer(st.GetLength
()),st.GetLength());
و یا اینکه در پارامتر سوم مستقیما متغیری از نوع LPWSTR گذاشتم که فرق نکرد.
و num هم مقداری را برنمیگرداند و البته در MSDN هم توصیه ای برای استفاده از GetLastError() برای این تابع نشده بود.بنابراین من هم استفاده نکردم.
لطفا بگید آیا روش من درست است؟
با تشکر.
void CExprimDlg::OnDropFiles(HDROP hDropInfo)
{
TCHAR st[50];
UINT num=::DragQueryFile(hDropInfo,0xFFFFFFFF,st,50);
CDialog::OnDropFiles(hDropInfo);
}
http://tinypic.info/files/3rnmq6ldsbd1asu8wngd.jpg
ضمنا از چند روش دیگر هم استفاده کردم که مشکل دارند:
مثلا :
CString st;
UINT num=::DragQueryFile(hDropInfo,0xFFFFFFFF,st.GetBuf fer(st.GetLength
()),st.GetLength());
و یا اینکه در پارامتر سوم مستقیما متغیری از نوع LPWSTR گذاشتم که فرق نکرد.
و num هم مقداری را برنمیگرداند و البته در MSDN هم توصیه ای برای استفاده از GetLastError() برای این تابع نشده بود.بنابراین من هم استفاده نکردم.
لطفا بگید آیا روش من درست است؟
با تشکر.