diff --git a/base/shell/filebrowser/CMakeLists.txt b/base/shell/filebrowser/CMakeLists.txt new file mode 100644 index 00000000000..81209bcf006 --- /dev/null +++ b/base/shell/filebrowser/CMakeLists.txt @@ -0,0 +1,14 @@ + +PROJECT(SHELL) + +list(APPEND SOURCE + filebrowser.c + filebrowser.rc) + +add_executable(filebrowser ${SOURCE}) +set_module_type(filebrowser win32gui UNICODE) +add_importlibs(filebrowser + shell32 + msvcrt + kernel32) + \ No newline at end of file diff --git a/base/shell/filebrowser/filebrowser.c b/base/shell/filebrowser/filebrowser.c new file mode 100644 index 00000000000..13b46a7654d --- /dev/null +++ b/base/shell/filebrowser/filebrowser.c @@ -0,0 +1,44 @@ +/* + * ReactOS Explorer + * + * Copyright 2014 Giannis Adamopoulos + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include +#include +#include +#include + +typedef HRESULT (WINAPI *SH_OPEN_NEW_FRAME)(LPITEMIDLIST pidl, IUnknown *paramC, long param10, long param14); + +int _tmain(int argc, _TCHAR* argv[]) +{ + HMODULE hBrowseui = LoadLibraryW(L"browseui.dll"); + if (hBrowseui) + { + SH_OPEN_NEW_FRAME SHOpenNewFrame = (SH_OPEN_NEW_FRAME)GetProcAddress(hBrowseui, (LPCSTR)103); + LPITEMIDLIST pidlDrives; + HRESULT hRet = SHGetSpecialFolderLocation(NULL, CSIDL_DRIVES, &pidlDrives); + SHOpenNewFrame((LPITEMIDLIST)pidlDrives, NULL, 0, 0); + } + + Sleep(3000); + + return 0; +} + diff --git a/base/shell/filebrowser/filebrowser.exe.manifest b/base/shell/filebrowser/filebrowser.exe.manifest new file mode 100644 index 00000000000..55d0c638c05 --- /dev/null +++ b/base/shell/filebrowser/filebrowser.exe.manifest @@ -0,0 +1,22 @@ + + + +This is ReactOS File Browser + + + + + + \ No newline at end of file diff --git a/base/shell/filebrowser/filebrowser.rc b/base/shell/filebrowser/filebrowser.rc new file mode 100644 index 00000000000..c685df60249 --- /dev/null +++ b/base/shell/filebrowser/filebrowser.rc @@ -0,0 +1,11 @@ +#include +#include + +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS File Browser" +#define REACTOS_STR_INTERNAL_NAME "filebrowser" +#define REACTOS_STR_ORIGINAL_FILENAME "filebrowser.exe" +#include + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "filebrowser.exe.manifest"