Witam.
Szukam sposobu na kopiowanie całych katalogów wraz z zawartością do innego katalogu pod Windows w Qt.
Używam Qt5.6.0-VS2013x64-beta. Googlałem trochę i nie znalazłem prostej metody w Qt, ale jest funkcja SHFileOperation z "Windows.h".
Problem wtym że nie potrafię przekonwerować Qstring do PCZZTSTR. (to potrzebne do uzupełnienia struktury SHFILEOPSTRUCT.
Gdy próbowałem na sztywno wpisać ścieżki, to działa:
LPSHFILEOPSTRUCTW shf;
shf->hwnd = NULL;
shf->pFrom = L"C:\\Users\\PRO\\Documents\\Qt_copy_test_AA\\\0";
shf->pTo = L"C:\\Users\\PRO\\Documents\\Qt_copy_test\\\0";
SHFileOperationW(shf);
Nie stety, potrzebuję conversji z QString:
b1 = itm->item(0 ,1)->text().utf16(); // to jest pobranie tekstu z QStandartItem.
shf->pFrom =b1;
próbowałem też;
WCHAR b1[MAX_PATH];
int ln = itm->item(0 ,1)->text().toWCharArray(b1);
b1[ln] = '\0';
b1[ln+1] = '\0';
shf->hwnd = NULL;
shf->pFrom = b1;
shf->pTo = L"C:\\Users\\PRO\\Documents\\Qt_copy_test\\\0";
SHFileOperationW(shf);
Nie stety, albo się nie kompiluje albo program się wywala przy uruchomieniu SHFileOperationW
Ma ktoś doświadczenie jak to rozgryźć?
Dziękuję i pozdrawiam
P.S.
Jeżeli nie ten dzial, to proszę o przeniesienie wątku.