HankHank
|
Posted: Mon Apr 19, 2010 15:58 Post subject: |
|
|
MVV wrote: | Менять путь, посылая сообщение установки текста полю пути - извращение и маразм. ТК поддерживает специальное оконное сообщение WM_COPYDATA, в котором можно послать путь для перехода. Но надо это делать в фоновом потоке (у меня из плагина не работало, если в основном)... |
Дык я тоже чувствую, что как-то уж очень топорно получается. Должен быть выход. Попробовал приладить код с вызовом фонового процесса, получилось так:
Code: |
DWORD __stdcall BackgroundSendData(void* Data)
{
SendMessage(hMainWnd, WM_COPYDATA, 0, (LPARAM) Data);
return 0;
}
bool ChangeCurrentDir()
{
COPYDATASTRUCT cds;
char buffer[]="cd \\\\\\net";
cds.dwData='DC';
cds.lpData=&buffer;
cds.cbData=sizeof(buffer);
HANDLE thread=CreateThread(0, 0, &BackgroundSendData, &cds, 0, 0);
if (!thread) return 0;
CloseHandle(thread);
return 1;
}
|
Компиллятор не взбрыкнул. Нужный процесс рождается. Код возврата thread ненулевой. Но эффекта - нет. Так и стоим на месте - на [..]. Подробнее пока не глядел.
Может, свежим взглядом косяк виден сразу ?
И ещё немного оффтопа.
1. Поскольку в основном эксплуатирую всякий софт, а не занимаюсь разработкой, то отстал от жизни. Не очень понимаю перспективы 64-битной судьбы Коммандера. В Сети встречал рассуждения, что, вроде бы для TC особой нужды нет в переходе на 64-ю платформу. Как 32-битное приложение TC вполне справляется со всеми практическими задачами. Мол, есть системные папки под Windows 7, которые напрямую сейчас не доступны, но к ним TC доступ обеспечивает, тем не менее.
2. Также интересен вопрос UNICODE под TC. Ещё в примере реализации FS-плагина TC я обратил внимание на функции API TC, содержащие буковку "w". Насколько учёт UNICODE оказывает практическое влияние на разработку плагинов под TC ? Так ли нельзя без него обойтись ? |
|