2009-03-13 45 views
5

Trên hầu hết các máy tính mới hơn, bạn có thể tắt máy bằng cách nhấn nút nguồn trong vài giây. Nhưng tôi muốn ngăn chặn điều này hoàn toàn.Làm thế nào để từ chối tắt máy khi nhấn nút nguồn trong một thời gian?

Bạn có thể ngăn một số sự kiện mềm như các sự kiện ngủ, tạm dừng, ngủ đông và "Nhấn nút nguồn" trong bảng điều khiển Windows; bạn cũng có thể sử dụng một số chương trình Win32 và WDI để nắm bắt và xử lý/từ chối các sự kiện đó nhưng dường như nó không làm mất điện cơ học tắt khi bạn giữ nút trong thời gian dài hơn.

Tôi đoán nút nguồn có dây cứng để cấp nguồn và không bao giờ đợi hệ điều hành khi bạn giữ nó trong vài giây? Hoặc là có một số cách để ngăn chặn ngay cả trường hợp này bằng mã?

Tôi là nhà phát triển .NET.

Whooaaa ...! Rất nhiều bạn thực sự lập luận vì không làm điều này - "Bạn không sở hữu máy tính hoặc hệ điều hành của tôi", - "là bạn phát triển SkyNet" v.v.) Ứng dụng này là giải pháp đóng gói được tùy chỉnh cao và cho một số khách hàng. Ứng dụng kiosk được tùy chỉnh trên phần cứng chạy trên Windows XP Được nhúng và sử dụng màn hình cảm ứng. Đó là không công khai.

+0

Hầu hết máy tính kiosk được đặt trong 'kiosk' - để người dùng không được phép truy cập vào các nút nguồn/thiết lập lại, ổ đĩa ngoài và cổng ngoài. Nếu PC của bạn bị lộ, việc sử dụng nút nguồn chỉ bằng một nửa dung lượng. – CJM

+1

Nếu đây là các ki-ốt nơi bạn kiểm soát phần cứng, chỉ cần tắt tính năng này trong bios. Hầu hết các máy tính sẽ có một "Power Management" hoặc "ACPI Shutdown Mode" hoặc một cái gì đó tương tự trong BIOS mà bạn có thể sửa đổi. –

Trả lời

4

Điều này là không thể vì điều này tắt nguồn xảy ra bên dưới mức hệ điều hành để nó giống như kéo phích cắm xa như hệ điều hành có liên quan!

5

Nó thực sự là một quyền lực cơ học, vì vậy nó sẽ là loại khó khăn để vượt qua.

Nếu điều đó thực sự quan trọng, bạn có thể ngắt kết nối nút nguồn và bật/tắt máy tính với chế độ đánh thức. tắt máy từ xa.

2

Tôi tin rằng cách duy nhất bạn có thể thay đổi điều này là thay đổi các cài đặt theo cách thủ công trong BIOS của bạn. Điều này có lẽ không thể bị bắt bởi một ngôn ngữ lập trình. Nếu bạn thực sự cần phải, bạn chỉ có thể rút dây nhỏ từ bo mạch chủ của bạn mà đi đến nút nguồn.

10

Tôi sẽ hy vọng mà bạn không thể thực hiện việc này. Tôi đã gặp phải tình huống một số lần mà tôi không thể khởi động lại máy tính theo bất kỳ cách nào khác. Trong những trường hợp như vậy, bạn có thực sự muốn ép người dùng máy tính xách tay rút phích cắm nguồn điện và tháo pin trong khi đang chạy không?

Sau khi đưa ra cảnh báo đó, bạn có thể viết phần mềm cho các tình huống khá khác nhau ở nơi có ý nghĩa hơn. Bạn có thể cung cấp thêm chi tiết về động lực cho việc này không?

Nếu người dùng có thể giữ nút nguồn xuống (chỉ ra rằng họ thực sự, thực sự muốn tắt máy) thì họ không thể loại bỏ sức mạnh vật lý?

EDIT: Đối phó với những nhận xét từ magsto:

Nếu tất cả mọi người tham gia thực sự, thực sự muốn này - đã giải thích với họ rằng nếu gặp rắc rối và họ cần phải hard-reset máy tính, họ sẽ phải đi đến một cách trực tiếp thậm chí nhiều hơn của powering xuống, mà tôi nghi ngờ có nhiều khả năng thiệt hại phần cứng hơn là "giữ quyền lực" phương pháp ... nói chuyện với nhà sản xuất thiết bị.Có vẻ như bạn đang làm việc với một thiết bị cụ thể, vì vậy họ có thể chỉnh sửa một thứ gì đó trong BIOS cho bạn, ngay cả khi đó không phải là tùy chọn công khai. Với điều này gần như luôn luôn là một ý tưởng thực sự tồi tệ, tôi không ngạc nhiên khi không có hỗ trợ đơn giản cho nó, nhưng nếu bạn yêu cầu nhà sản xuất có thể có một số cách ẩn để làm những gì bạn muốn. Tôi vẫn khuyến khích bạn nhận được mọi người liên quan đến suy nghĩ về tất cả các hậu quả có thể xảy ra.

+2

TBH, động cơ của họ không quan trọng. Tính năng này là tùy chọn cuối cùng cần thiết khi mọi thứ xảy ra sự cố. Tôi sẽ đề nghị rằng nếu thực sự là một vấn đề, truy cập vật lý vào máy là vấn đề thực sự. [CHÚA ƠI! Tôi đang tranh luận với The Skeet! Tôi có nhận được huy hiệu không?] – CJM

+0

Ứng dụng là một sản phẩm được tùy chỉnh, nó là một phần của "ứng dụng kiosk" trên máy tính màn hình cảm ứng và Windows XP được nhúng và cả chúng tôi lẫn khách hàng đều muốn thực hiện việc này. – Magnus

+0

@CJM: Tôi không nghĩ rằng chúng tôi thực sự không đồng ý :) Nếu người dùng có quyền truy cập vật lý, họ có thể có thể tắt mọi thứ bằng cách kéo dây/pin. –

4

Theo như tôi biết, bạn đúng khi nói rằng hệ điều hành thậm chí không tham gia vào loại "tắt máy" này. Giữ nút nguồn trong một thời gian chỉ là tín hiệu cho phần cứng để tắt nguồn ngay lập tức cho tất cả các thiết bị trong máy tính. Các sự kiện shutdown/sleep/hibernate bình thường có thể bị bắt và được xử lý bằng cách sử dụng WinAPI, như bạn nói.

1

Bạn không thể và không nên rối tung với tính năng này.

tôi có thể dự tính hai kịch bản mà điều này có thể là một vấn đề:

  1. Bạn không muốn người dùng trái phép tắt máy bằng bất kỳ phương tiện - trong trường hợp chất bảo vệ máy cũng như lockdown hệ điều hành.
  2. Bạn không muốn tắt máy trong một quy trình quan trọng - trong trường hợp này xây dựng khả năng phục hồi trong ứng dụng của bạn sao cho các sự kiện như tắt nguồn hoặc mất điện môi trường không ảnh hưởng đến ứng dụng.
+0

"Bạn không muốn người dùng trái phép tắt máy bằng bất kỳ phương tiện nào". Nói với Toddler rằng tôi thích nhấn nút – MichaelD

+0

@MichaelD - tôi giới thiệu bạn về tài liệu tham khảo 'an toàn vật lý máy' của tôi, nhưng thay vào đó, có lẽ bạn nên an toàn về thể chất trẻ mới biết đi. Tôi đã suy nghĩ thẳng áo jacket .... – CJM

2

Bạn sắp phát triển SkyNet chưa?

Xin lỗi vì câu hỏi này, nhưng như nhiều người đã đề xuất, tôi cũng tin rằng điều này không nên được thực hiện, nếu có thể thiết kế.

3

Rút dây nguồn khỏi bo mạch chủ và luôn cố định dây cáp. :)

+0

Có, tất cả các sửa đổi phần cứng có thể làm các trick, nhưng tôi quan tâm đến cách giá vé chúng tôi có thể đi với phần mềm ... – Magnus

0

Tôi sẽ đề xuất bằng cách nào đó chỉ cần lấy nút nguồn ngoài tầm với của người dùng. Có thể loại bỏ nó hoàn toàn. Và đảm bảo máy tính tự động bật khi nó có điện hoặc thứ gì đó (không chắc chắn nhưng có thể có trong bios?).

Dù sao, để luôn ở trên điều kiosk, điều này có ý nghĩa. Ít nhất nó cũng làm cho nhiều phần cứng khác. Trường hợp cách duy nhất để tắt nó là cắt điện.

2

Được rồi, vì vậy có thể mất trí để tắt nút nguồn. Nhưng chúng tôi có một ứng dụng phần mềm, sử dụng cơ sở dữ liệu và sử dụng một bộ giấy phép đắt tiền. Nhà cung cấp lớn của Đức này sử dụng trình quản lý giấy phép di chuyển giấy phép vật lý xung quanh ổ đĩa. Chống phân mảnh, một số ứng dụng chống vi-rút và cắt quyền lực làm hỏng giấy phép. Chúng tôi có UPS để cho phép tắt máy thanh lịch nếu máy bị cắt. Bây giờ có vẻ như một số anh chàng dịch vụ hoặc nhà điều hành đã tắt nguồn máy tính với nút nguồn làm hỏng các giấy phép. Các thiết bị này được đặt ở vị trí từ xa trên toàn thế giới và đào tạo các nhà điều hành có thể không phải luôn luôn ngăn chặn điều này. Có vẻ như các tùy chọn giải pháp là 1) Làm việc với nhà cung cấp để vô hiệu hóa nút nguồn, 2) cố gắng bẫy và cảnh báo người dùng có thể doom hoặc 3) thiết kế lại màn hình bằng cách sử dụng hệ điều hành và ứng dụng miễn dịch.

4

Sử dụng công tắc xung.Tôi không chắc đó có phải là thuật ngữ đúng hay không nhưng tôi đã thấy chúng trong danh mục. Đó là một chuyển đổi hành động nhanh chóng mà chỉ 'làm' cho một giây thứ hai khi bạn nhấn và không phải khi bạn phát hành nó. Dừng ở giữa không hoạt động. Khi bạn đạt đến ngưỡng, cơ chế bắt đầu di chuyển để đóng liên hệ và không ngừng di chuyển cho đến khi liên hệ mở lại. Điều này sẽ cho phép bạn bắt đầu bình thường và dừng bình thường nhưng không có cách nào để giữ mạch đóng trong 4 giây. (không mở trường hợp, tất nhiên)

1

Điều đó có ý nghĩa khi người dùng máy tính là trẻ em và nút nguồn trở thành trò chơi chứ không phải là hành động khẩn cấp.Điều tốt hơn cho trẻ học cách tắt máy thông qua phần mềm là tắt shutdown mechanichal.

Các vấn đề liên quan