diff --git a/atom/browser/native_window_win.cc b/atom/browser/native_window_win.cc index 828b282be517..84b26e953ad8 100644 --- a/atom/browser/native_window_win.cc +++ b/atom/browser/native_window_win.cc @@ -4,6 +4,8 @@ #include "atom/browser/native_window_win.h" +#include + #include #include @@ -14,6 +16,7 @@ #include "atom/common/options_switches.h" #include "base/strings/utf_string_conversions.h" #include "base/values.h" +#include "base/win/scoped_comptr.h" #include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/render_widget_host_view.h" @@ -396,6 +399,15 @@ void NativeWindowWin::FlashFrame(bool flash) { } void NativeWindowWin::SetSkipTaskbar(bool skip) { + base::win::ScopedComPtr taskbar; + if (FAILED(taskbar.CreateInstance(CLSID_TaskbarList, NULL, + CLSCTX_INPROC_SERVER)) || + FAILED(taskbar->HrInit())) + return; + if (skip) + taskbar->DeleteTab(GetNativeWindow()); + else + taskbar->AddTab(GetNativeWindow()); } void NativeWindowWin::SetKiosk(bool kiosk) {