Làm cách nào để đặt góc nóng trong Windows 7?


10

Tôi có một thiết lập màn hình kép trên hộp Windows 7 của mình tại nơi làm việc. Tôi muốn biết làm thế nào (nếu có thể) Tôi có thể đặt một góc nóng để khởi động trình bảo vệ màn hình hoặc đặt màn hình ở chế độ ngủ?

Câu trả lời:


12

Trên thực tế, trình bảo vệ màn hình Windows đã có tính năng này (ít nhất là những tính năng được bao gồm như một phần của gói Plus!, Mà các bộ định thời cũ nên nhớ):

1

Thật vậy, một lỗi thực sự hữu ích đã tạo ra các góc nóng được chỉ định cho Plus! sàng lọc một thiết lập toàn cầu áp dụng cho không Plus! trình bảo vệ màn hình là tốt!

Cách dễ nhất để có chức năng tương tự trong Windows bây giờ có thể là sử dụng ứng dụng AutoIT (nguồn có sẵn) được gọi, không đáng ngạc nhiên, Hot Corners . Nó cũng có thể làm nhiều điều thú vị khác ngoài việc khởi chạy trình bảo vệ màn hình:

2


Điều này dường như không hoạt động trên Windows 10, cho hồ sơ.
Giacomo Lacava

3

Đây là một ứng dụng hotcorners mà tôi đã viết, hy vọng bạn thích nó! Tôi cũng đã phát hành nguồn trên github.

Chi tiết có thể được tìm thấy trên: https://sites.google.com/site/bytecar/home/hotcornersapp

Chúc mừng hack!


Không giống như câu trả lời được chấp nhận, điều này hoạt động tốt với Windows 10 và nhiều màn hình cũng vậy. Bạn đã làm rất tốt! Đối với bản ghi, tôi nhận thấy rằng bản dựng có sẵn cuối cùng không bao gồm một tính năng (màn hình ngủ) được hợp nhất trong Github, bạn có thể cập nhật điều đó không? Cảm ơn các ứng dụng một lần nữa.
Giacomo Lacava

Có hai vấn đề nổi bật, 1) Vô tình kích hoạt hotcorners trong khi ingame 2) xây dựng mã ngủ hợp nhất (dường như có một số vấn đề), Sẽ hoạt động trên hai và phát hành vào ngày 30 tháng 1.
bytecar

2

Đây là phiên bản PowerShell nhanh chóng của tôi về điều này nếu có ai quan tâm ( plugin bài đăng trên blog không biết xấu hổ ) (hoặc GitHub )

mã này theo dõi chuột ở vị trí nhất định (góc dưới bên phải) và sau đó kích hoạt API tắt nguồn màn hình Win32 ... nó hiển thị biểu tượng khay tác vụ dưới dạng chỉ báo chạy hiển thị cùng với menu ngữ cảnh để kết thúc thực thi

tiếc là tôi quá xanh để đăng ảnh chụp màn hình ... bây giờ vui lòng tham khảo liên kết github để biết thông tin mạnh mẽ

# 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()

0

Tôi sử dụng - và tôi khuyên bạn nên sử dụng - AutoC's HotCorners (hoặc biến thể của Mr Lekrem Yelsew, HotCorners 2). Nó không hoàn toàn là "Trình sàng lọc" (Mac OS cũ), nhưng nó thực hiện những gì nó được yêu cầu và "thoát khi được hỏi" (nghĩa là không có sự chậm trễ nào trong việc quay trở lại kinh doanh từ một trong những 'góc.')

BZT


1
Cảm ơn bạn về thông tin. Nếu bạn có thể vui lòng bao gồm các liên kết đến các chương trình bạn đang nói đến, điều đó sẽ được đánh giá rất cao.
CyberSkull
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.