Автор | Сообщение |
|
| |
Пост N: 4
Зарегистрирован: 23.06.08
|
|
Отправлено: 22.07.08 16:11. Заголовок: Как открыть папку с помощью ShellExecute()
Здравствуйте ! Подскажите пожалуйста как открыть в Проводнике Windows папку с помощью команды ShellExecute. Пытался так: CurrentPath:=SUBSTR(EXENAME(), 1, RAT("\",EXENAME() ) - 0) ShellExecute(,"open","explorer",CurrentPath,,SW_SHOWNORMAL) Но что-то не работает !!!
|
|
|
Ответов - 3
[только новые]
|
|
|
| постоянный участник
|
Пост N: 623
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.07.08 17:58. Заголовок: Можно попробовать и ..
Можно попробовать и через вызов системных DLL, типа: DllCall( "shell32.dll", DLL_STDCALL, "ShellExecuteA", NIL, "open", "http://clipper.borda.ru", NIL, NIL, 1 ) только я не знаю какую DLL вызывать и какие параметры задавать !
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 23.06.08
|
|
Отправлено: 22.07.08 23:43. Заголовок: Спасибо, разобрался:..
Спасибо, разобрался: #define CSIDL_WINDOWS 0x0024 // GetWindowsDirectory() #define CSIDL_SYSTEM 0x0025 // GetSystemDirectory() #define DLL_STDCALL 32 // for run Dll Function MAIN() LOCAL cPathWin, cPath cPathWin := C_FOLDER(CSIDL_WINDOWS) cPath := Curdrive()+":\" ? cPathWin ? cPath wait DllCall( "shell32.dll", DLL_STDCALL, "ShellExecuteA", NIL, "open", cPathWin+"\explorer.exe", cPath, NIL, 1 ) RETURN NIL #pragma BEGINDUMP // из минигуи #include <windows.h> #include <hbapi.h> #include <shlobj.h> HB_FUNC( C_FOLDER ) // Contributed By Ryszard Ry№ko { char *lpBuffer = (char*) hb_xgrab( MAX_PATH+1); LPITEMIDLIST pidlBrowse; // PIDL selected by user SHGetSpecialFolderLocation(GetActiveWindow(), hb_parni(1), &pidlBrowse) ; SHGetPathFromIDList(pidlBrowse, lpBuffer); hb_retc(lpBuffer); hb_xfree( lpBuffer); } #pragma ENDDUMP
|
|
|
|
| постоянный участник
|
Пост N: 635
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.07.08 17:30. Заголовок: Можно проще: :sm12:..
Можно проще: ShellExecute(, 'explore', CurDrive()+":"+DirName(), , , SW_SHOWNORMAL)
|
|
|
|