mirror of
https://github.com/reactos/reactos.git
synced 2024-07-29 07:39:10 +00:00
GSoC_Project: TSE (Taskbar Shell Extension)
[qcklnch] -Added basic files for coding. -Made changes in corresponding CMakeLists.txt. svn path=/branches/GSoC_2017/shellext/; revision=74722
This commit is contained in:
parent
5489577226
commit
b1b599d5d9
38
reactos/dll/shellext/qcklnch/CMakeLists.txt
Normal file
38
reactos/dll/shellext/qcklnch/CMakeLists.txt
Normal file
|
@ -0,0 +1,38 @@
|
|||
|
||||
project(SHELL)
|
||||
|
||||
set_cpp(WITH_RUNTIME)
|
||||
|
||||
if(NOT MSVC)
|
||||
# HACK: this should be enabled globally!
|
||||
add_compile_flags_language("-std=c++11" "CXX")
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${REACTOS_SOURCE_DIR}/sdk/lib/atl
|
||||
${REACTOS_SOURCE_DIR})
|
||||
|
||||
spec2def(qcklnch.dll qcklnch.spec)
|
||||
|
||||
add_library(qcklnch SHARED
|
||||
qcklnch.cpp
|
||||
${CMAKE_CURRENT_BINARY_DIR}/qcklnch.def)
|
||||
|
||||
set_module_type(qcklnch win32dll UNICODE)
|
||||
target_link_libraries(qcklnch uuid wine atlnew)
|
||||
|
||||
add_importlibs(qcklnch
|
||||
advapi32
|
||||
winmm
|
||||
ole32
|
||||
oleaut32
|
||||
shlwapi
|
||||
shell32
|
||||
comctl32
|
||||
msvcrt
|
||||
gdi32
|
||||
user32
|
||||
kernel32
|
||||
ntdll)
|
||||
|
||||
add_cd_file(TARGET qcklnch DESTINATION reactos/system32 FOR all)
|
51
reactos/dll/shellext/qcklnch/precomp.h
Normal file
51
reactos/dll/shellext/qcklnch/precomp.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
#pragma once
|
||||
|
||||
#define WIN32_NO_STATUS
|
||||
#include <stdarg.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#define COBJMACROS
|
||||
#define WIN32_NO_STATUS
|
||||
#define _INC_WINDOWS
|
||||
#define COM_NO_WINDOWS_H
|
||||
#define NTOS_MODE_USER
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <winreg.h>
|
||||
#include <winuser.h>
|
||||
#include <wincon.h>
|
||||
#include <ddeml.h>
|
||||
#include <shlguid_undoc.h>
|
||||
#include <shlwapi.h>
|
||||
#include <shlobj.h>
|
||||
#include <shlobj_undoc.h>
|
||||
#include <shlwapi_undoc.h>
|
||||
#include <tchar.h>
|
||||
#include <strsafe.h>
|
||||
#include <atlbase.h>
|
||||
#include <atlcom.h>
|
||||
#include <atlwin.h>
|
||||
#include <undocshell.h>
|
||||
#include <shellutils.h>
|
||||
|
||||
#include <shellapi.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
#include <wine/unicode.h>
|
||||
|
||||
//#include "resource.h"
|
||||
|
||||
#undef DbgPrint
|
||||
|
||||
/*extern HINSTANCE g_hInstance;
|
||||
|
||||
#define ID_ICON_VOLUME (WM_APP + 0x4CB)
|
||||
|
||||
// {845B0FB2-66E0-416B-8F91-314E23F7C12D}
|
||||
DEFINE_GUID(CLSID_NtObjectFolder,
|
||||
0x845b0fb2, 0x66e0, 0x416b, 0x8f, 0x91, 0x31, 0x4e, 0x23, 0xf7, 0xc1, 0x2d);
|
||||
|
||||
//#include "ntobjfolder.h"
|
||||
//#include "regfolder.h"
|
||||
*/
|
67
reactos/dll/shellext/qcklnch/qcklnch.cpp
Normal file
67
reactos/dll/shellext/qcklnch/qcklnch.cpp
Normal file
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* PROJECT: ReactOS shell extensions
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: dll/shellext/qcklnch/qcklnch.cpp
|
||||
* PURPOSE: Quick Launch Toolbar (Taskbar Shell Extension)
|
||||
* PROGRAMMERS: Shriraj Sawant a.k.a SR13 <sr.official@hotmail.com>
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#include <atlwin.h>
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(ntobjshex);
|
||||
|
||||
BEGIN_OBJECT_MAP(ObjectMap)
|
||||
//OBJECT_ENTRY(CLSID_RegistryFolder, CRegistryFolder)
|
||||
END_OBJECT_MAP()
|
||||
|
||||
HINSTANCE g_hInstance;
|
||||
CComModule g_Module;
|
||||
|
||||
void *operator new (size_t, void *buf)
|
||||
{
|
||||
return buf;
|
||||
}
|
||||
|
||||
STDAPI_(BOOL)
|
||||
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
|
||||
{
|
||||
if (fdwReason == DLL_PROCESS_ATTACH)
|
||||
{
|
||||
g_hInstance = hinstDLL;
|
||||
DisableThreadLibraryCalls(g_hInstance);
|
||||
|
||||
g_Module.Init(ObjectMap, g_hInstance, NULL);
|
||||
}
|
||||
else if (fdwReason == DLL_PROCESS_DETACH)
|
||||
{
|
||||
g_hInstance = NULL;
|
||||
g_Module.Term();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
STDAPI
|
||||
DllRegisterServer(void)
|
||||
{
|
||||
return g_Module.DllRegisterServer(FALSE);
|
||||
}
|
||||
|
||||
STDAPI
|
||||
DllUnregisterServer(void)
|
||||
{
|
||||
return g_Module.DllUnregisterServer(FALSE);
|
||||
}
|
||||
|
||||
STDAPI
|
||||
DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
|
||||
{
|
||||
return g_Module.DllGetClassObject(rclsid, riid, ppv);
|
||||
}
|
||||
|
||||
STDAPI
|
||||
DllCanUnloadNow(void)
|
||||
{
|
||||
return g_Module.DllCanUnloadNow();
|
||||
}
|
4
reactos/dll/shellext/qcklnch/qcklnch.spec
Normal file
4
reactos/dll/shellext/qcklnch/qcklnch.spec
Normal file
|
@ -0,0 +1,4 @@
|
|||
@ stdcall -private DllCanUnloadNow()
|
||||
@ stdcall -private DllGetClassObject(ptr ptr ptr)
|
||||
@ stdcall -private DllRegisterServer()
|
||||
@ stdcall -private DllUnregisterServer()
|
Loading…
Reference in a new issue