Print Screen Command Hot! -
.screenshot-btn:hover { background: #45a049; transform: translateY(-2px); }
.notification { position: fixed; top: 20px; right: 20px; background: #333; color: white; padding: 12px 24px; border-radius: 8px; z-index: 10001; animation: slideIn 0.3s ease; } print screen command
.preview-modal img { max-width: 100%; height: auto; } .screenshot-btn:hover { background: #45a049
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } </style> </head> <body> <div class="screenshot-container"> <button class="screenshot-btn" id="fullScreenBtn">📸 Full Screen</button> <button class="screenshot-btn" id="viewportBtn">👁️ Viewport</button> <button class="screenshot-btn" id="elementBtn">🎯 Capture Card</button> </div> } .notification { position: fixed
export default PrintScreenComponent; // Main process (main.js) const { app, BrowserWindow, globalShortcut, clipboard, nativeImage } = require('electron'); const screenshot = require('screenshot-desktop'); app.whenReady().then(() => { // Register global shortcut (Print Screen key) globalShortcut.register('PrintScreen', async () => { try { // Capture screen const imgBuffer = await screenshot();
const captureElement = async (elementId) => { setLoading(true); try { const element = document.getElementById(elementId); const canvas = await html2canvas(element, { scale: 2, backgroundColor: null }); setScreenshot(canvas.toDataURL('image/png')); } catch (error) { console.error('Element capture failed:', error); } finally { setLoading(false); } };
// Capture visible viewport static captureViewport() { return this.captureElement(document.body); } } class ScreenshotSaver { static saveAsFile(screenshot, filename = `screenshot_${Date.now()}.png`) { const link = document.createElement('a'); link.download = filename; link.href = screenshot.dataUrl; link.click(); } static async saveToClipboard(screenshot) { try { await navigator.clipboard.write([ new ClipboardItem({ [screenshot.blob.type]: screenshot.blob }) ]); return true; } catch (error) { console.error('Failed to copy to clipboard:', error); return false; } }