কর্মস্থলে আমার উইন্ডোজ 7 বাক্সে আমার ডুয়াল মনিটর সেটআপ রয়েছে। আমি জানতে চাই (কীভাবে সম্ভব) আমি কীভাবে স্ক্রিনসেভার শুরু করার জন্য একটি গরম কর্নার সেট করতে পারি বা ডিসপ্লেটি ঘুমাতে পারি?
কর্মস্থলে আমার উইন্ডোজ 7 বাক্সে আমার ডুয়াল মনিটর সেটআপ রয়েছে। আমি জানতে চাই (কীভাবে সম্ভব) আমি কীভাবে স্ক্রিনসেভার শুরু করার জন্য একটি গরম কর্নার সেট করতে পারি বা ডিসপ্লেটি ঘুমাতে পারি?
উত্তর:
আসলে, উইন্ডোজ স্ক্রীনসেভার করেনি এই বৈশিষ্ট্যটি আছে (অন্তত প্লাস প্যাক, যা পুরোনো টাইমার মনে রাখা উচিত অংশ হিসাবে অন্তর্ভুক্ত যারা!):
প্রকৃতপক্ষে, সত্যিই দরকারী একটি ত্রুটিযুক্ত প্লাসের জন্য নির্দিষ্ট গরম কোণগুলি তৈরি করেছে! স্ক্রীনসভারগুলি এমন একটি বিশ্বব্যাপী সেটিংস যা নন-প্লাসকে প্রয়োগ করে! স্ক্রিনসেভার পাশাপাশি!
সবচেয়ে সহজ উপায় এখন উইন্ডোজ অনুরূপ কার্যকারিতা পেতে একটি AutoIT অ্যাপ্লিকেশন (উৎস উপলব্ধ) বলা হয়, এটি আশ্চর্যজনক নয় যে, ব্যবহার করা হতে পারে হট কোণে । এটি স্ক্রীন-সেভার চালু করার পাশাপাশি আরও বিভিন্ন আকর্ষণীয় কাজ করতে পারে:
এখানে আমি লিখেছি এমন একটি হটকার্নার্স অ্যাপ্লিকেশন, আশা করি আপনি এটি উপভোগ করেছেন! আমি গিথুব থেকে উত্সও প্রকাশ করেছি।
বিশদগুলি এখানে পাওয়া যাবে: https://sites.google.com/site/bytecar/home/hotcornersapp
শুভ হ্যাকিং!
যদি কেউ আগ্রহী ( নির্লজ্জ ব্লগ পোস্ট প্লাগ ) (বা গিটহাব ) আগ্রহী তবে এটির আমার চটজলদি পাওয়ারশেল সংস্করণ এখানে's
এই কোডটি নির্দিষ্ট অবস্থানে মাউসের জন্য নজর রাখে (বর্তমানে নীচে ডান কোণে) এবং তারপরে Win32 মনিটর পাওয়ার-অফ এপিআই ট্রিগার করে ... এটি কার্যকর করে শেষ করার জন্য একটি প্রসঙ্গ মেনু সহ একটি টাস্ক ট্রে আইকনটি দৃশ্যমান চলমান সূচক হিসাবে প্রদর্শন করে
দুর্ভাগ্যক্রমে আমি স্ক্রিনশট পোস্ট করতে খুব সবুজ ... আপাতত শক্তিশালী তথ্যের জন্য গিথুব লিঙ্কটি দেখুন
# Source: http://www.powershellmagazine.com/2013/07/18/pstip-how-to-switch-off-display-with-powershell/
# Turn display off by calling WindowsAPI.
# SendMessage(HWND_BROADCAST,WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF)
# HWND_BROADCAST 0xffff
# WM_SYSCOMMAND 0x0112
# SC_MONITORPOWER 0xf170
# POWER_OFF 0x0002
Add-Type -TypeDefinition '
using System;
using System.Runtime.InteropServices;
namespace Utilities {
public static class Display
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(
IntPtr hWnd,
UInt32 Msg,
IntPtr wParam,
IntPtr lParam
);
public static void PowerOff ()
{
SendMessage(
(IntPtr)0xffff, // HWND_BROADCAST
0x0112, // WM_SYSCOMMAND
(IntPtr)0xf170, // SC_MONITORPOWER
(IntPtr)0x0002 // POWER_OFF
);
}
}
}
'
Add-Type -AssemblyName System.Windows.Forms
$notifyIcon = New-Object System.Windows.Forms.NotifyIcon
$notifyIcon.Icon = New-Object System.Drawing.Icon "$(Split-Path -parent $PSCommandPath)\icon.ico"
$notifyIcon.Text = "Hot Corners"
$notifyIcon.add_MouseDown( {
if ($script:contextMenu.Visible) { $script:contextMenu.Hide(); return }
if ($_.Button -ne [System.Windows.Forms.MouseButtons]::Left) {return}
#from: http://stackoverflow.com/questions/21076156/how-would-one-attach-a-contextmenustrip-to-a-notifyicon
#nugget: ContextMenu.Show() yields a known popup positioning bug... this trick leverages notifyIcons private method that properly handles positioning
[System.Windows.Forms.NotifyIcon].GetMethod("ShowContextMenu", [System.Reflection.BindingFlags] "NonPublic, Instance").Invoke($script:notifyIcon, $null)
})
$contextMenu = New-Object System.Windows.Forms.ContextMenuStrip
$contextMenu.ShowImageMargin = $false
$notifyIcon.ContextMenuStrip = $contextMenu
$contextMenu.Items.Add( "E&xit", $null, { $notifyIcon.Visible = $false; [System.Windows.Forms.Application]::Exit() } ) | Out-Null
$contextMenu.Show(); $contextMenu.Hide() #just to initialize the window handle to give to $timer.SynchronizingObject below
$timer = New-Object System.Timers.Timer
$timer.Interval = 500
$timer.add_Elapsed({
$mouse = [System.Windows.Forms.Cursor]::Position
$bounds = [System.Windows.Forms.Screen]::FromPoint($mouse).Bounds #thank you! - http://stackoverflow.com/questions/26402955/finding-monitor-screen-on-which-mouse-pointer-is-present
<# __ __ _ __ __ __ ____
/ / / /__ ________ ( )_____ / /_/ /_ ___ / /_ ___ ___ / __/
/ /_/ / _ \/ ___/ _ \|// ___/ / __/ __ \/ _ \ / __ \/ _ \/ _ \/ /_
/ __ / __/ / / __/ (__ ) / /_/ / / / __/ / /_/ / __/ __/ __/
/_/ /_/\___/_/ \___/ /____/ \__/_/ /_/\___/ /_.___/\___/\___/_/ #>
# currently set to trigger at lower right corner... season to your own taste (e.g. upper left = 0,0)
if ($mouse.X-$bounds.X -gt $bounds.Width-10 -and $mouse.Y -gt $bounds.Height-10) { [Utilities.Display]::PowerOff() }
#run the ps1 from command line to see this output
#debug: Write-Host "x: $($mouse.X), y:$($mouse.Y), width: $($bounds.Width), height: $($bounds.Height), sleep: $($mouse.X-$bounds.X -gt $bounds.Width-10 -and $mouse.Y -gt $bounds.Height-10)"
})
#frugally reusing $contextMenu vs firing up another blank form, not really necessary but i was curious if it'd work... the notify icon itself does not implement InvokeRequired
#see this for why SynchronizingObject is necessary: http://stackoverflow.com/questions/15505812/why-dont-add-eventname-work-with-timer
$timer.SynchronizingObject = $contextMenu
$timer.start()
$notifyIcon.Visible = $true
[System.Windows.Forms.Application]::Run()
আমি ব্যবহার করি - এবং আমি ব্যবহারের প্রস্তাব দিই - অটোআইটির হটকর্নার্স (বা মিঃ লেক্রেম ইয়েলসির ভিন্নতা, হটকর্নার্স 2)। এটি বেশ "স্ক্রিনার" (লিগ্যাসি ম্যাক ওএস) নয়, তবে এটি যা অনুমান করা উচিত তা করে, এবং "যখন জিজ্ঞাসা করা হয় তখন উপস্থিত হয়" (অর্থাত্, 'কোণগুলির একটি দ্বারা নির্ধারিত রাষ্ট্র থেকে ব্যবসায় ফিরে আসতে কোনও বিলম্ব নেই)')
BZT