mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-08 12:18:50 +02:00
* [CropAndLock]Original POC code dump * Project rename and delete solution * Remove unused architectures * Update cppwinrt to be in line with the solution * Add to PowerToys solution and fix build errors * Initial module interface empty project * Module skeleton based on AlwaysOnTop * Add loggers to module interface * Add crop and lock to the runner * Enable starts and disable kills the process * Events reacting to hotkeys * Main application reacting to events * Initialize unhandled exception handling * Singleton in line with other projects * Also exit when PowerToys exit is detected * Create Settings page * React to shortcut changes in Settings * Disable Crop and Lock through an Event * Disable running Crop and Lock standalone * Remove Crop and Lock tray icon * Module Interface dll version * Fix main app resource file to include version * Make pch conditional on CI build * Add to signing * Remove settings screen opened by removed tray icon * Fix spellcheck * Yet another fix for spellcheck * Fix disabling utility * Fix solution build configurations * Fix C++ analyzer errors * Try to fix pre-compiled header CI errors * Fix crash while exiting with an active reparent window * Fix missing reference when building in release CI * Add OOBE page * GPO: Add admx and adml file changes * GPO: react to changes in GPO * Add quick access flyout menu entry * Use Crop And Lock icon * Use actual images for Settings and OOBE * Module and app telemetry * Add entry to README.md * Add to process lists * Additional logging * Attribution in Settings page * Add attribution to Community.md * Fix spellcheck * Fix typo in strings * Fix crash when window handle is no longer valid * Update COMMUNITY.md * Fix supportedOS in manifest * Don't show msgbox if detecting second instance * Remove unused hotkey * Tweak attribution * Fix attribution spellcheck
56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
#include "pch.h"
|
|
#include "trace.h"
|
|
|
|
// Telemetry strings should not be localized.
|
|
#define LoggingProviderKey "Microsoft.PowerToys"
|
|
|
|
#define EventEnableAlwaysOnTopKey "AlwaysOnTop_EnableAlwaysOnTop"
|
|
#define EventPinWindowKey "AlwaysOnTop_PinWindow"
|
|
#define EventUnpinWindowKey "AlwaysOnTop_UnpinWindow"
|
|
#define EventEnabledKey "Enabled"
|
|
|
|
TRACELOGGING_DEFINE_PROVIDER(
|
|
g_hProvider,
|
|
LoggingProviderKey,
|
|
// {38e8889b-9731-53f5-e901-e8a7c1753074}
|
|
(0x38e8889b, 0x9731, 0x53f5, 0xe9, 0x01, 0xe8, 0xa7, 0xc1, 0x75, 0x30, 0x74),
|
|
TraceLoggingOptionProjectTelemetry());
|
|
|
|
void Trace::RegisterProvider() noexcept
|
|
{
|
|
TraceLoggingRegister(g_hProvider);
|
|
}
|
|
|
|
void Trace::UnregisterProvider() noexcept
|
|
{
|
|
TraceLoggingUnregister(g_hProvider);
|
|
}
|
|
|
|
void Trace::AlwaysOnTop::Enable(bool enabled) noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
EventEnableAlwaysOnTopKey,
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE),
|
|
TraceLoggingBoolean(enabled, EventEnabledKey));
|
|
}
|
|
|
|
void Trace::AlwaysOnTop::PinWindow() noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
EventPinWindowKey,
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
|
|
}
|
|
|
|
void Trace::AlwaysOnTop::UnpinWindow() noexcept
|
|
{
|
|
TraceLoggingWrite(
|
|
g_hProvider,
|
|
EventUnpinWindowKey,
|
|
ProjectTelemetryPrivacyDataTag(ProjectTelemetryTag_ProductAndServicePerformance),
|
|
TraceLoggingKeyword(PROJECT_KEYWORD_MEASURE));
|
|
}
|