내가 C++ 응용 프로그램에서 PC를 켤 수 없으므로 이 작업을 수행 할 수있는 방법이 있습니까? 감사합니다.C++ 응용 프로그램 기능으로 컴퓨터를 켤 수있는 방법이 있습니까?
답변
컴퓨터가 꺼져 있으면 코드를 실행할 수 없으므로 프로그래밍 방식으로 켜지 지 않습니다.
ACPI 다소 변경되었지만 도움을 받으려면 정확한 요구 사항을 구체적으로 밝혀야합니다.
다른 컴퓨터를 켜야 할 경우 Wake-on-LAN을 살펴보십시오.
2002 년 대부분의 PC 하드웨어 타이머를 설정할 수있는 ACPI가 있어야합니다. 컴퓨터가 꺼져 있어도 메인 보드는 실제로 네트워크 카드에 전원을 공급하거나 키보드 입력 (대기 모드 또는 키보드 깨우기 등)을 기다리거나 타이머를 기다리는 데 약간의 전원을 공급합니다. 불행히도 내 경험에 따르면이 기능은 시도 할 때 그다지 신뢰할만한 기능이 아니지만 지금은 변경되었을 수도 있습니다. – jdm
저는 PC의 BIOS에서 매일 평일에 PC를 켜도록 타이머를 구성했습니다. 정상적으로 작동하고 안정적으로 작동합니다. –
시스템 종료시 프로세스가 실행되고 있지 않을 때 어떻게 응용 프로그램에서 컴퓨터를 켤 수 있습니까? 실행중인 컴퓨터가 아닌 다른 컴퓨터 (Wake on Lan)를 켤 수 있습니다.
프로그램 자체가 설치되어있는 컴퓨터를 켜기위한 프로그램을 작성할 수 없습니다.
다른 컴퓨터를 켤 응용 프로그램을 작성해야한다면 Wake-on-LAN이 당신을위한 도구입니다. 최신 데스크톱에는 컴퓨터가 S5 상태 인 경우에도 항상 전원을 공급받는 NIC가 있습니다. BIOS가이를 지원하고 활성화되었다고 가정합니다.
Wake-On-LAN은 Magic Packet을 NIC에 보내서 작동합니다. 페이로드의 세부 내용은이 기사에서 설명합니다.
가능합니다.
먼저 Wake On Lan을 구성해야합니다. Lifehacker에서이 작업 수행 방법에 대한 게시물을 확인하십시오 : http://lifehacker.com/348197/access-your-computer-anytime-and-save-energy-with-wake+on+lan.
(또는이 링크 : http://hblg.info/2011/08/21/Wake-on-LAN-and-remote-login.html)
그런 다음 당신은 당신의 C++ 응용 프로그램에서 매직 패킷을 보내야합니다. 이미 자바 스크립트 (wakeonlan.me)에서이 작업을 수행하는 여러 웹 서비스가 있지만 C++ 응용 프로그램 내에서 수행 할 수도 있습니다.
이것은 아마도 C#: How to wake up system which has been shutdown? (아마도 C#이지만)의 복제본 일 수 있습니다.
CreateWaitableTimer()
으로 타이머를 만들고 SetWaitableTimer()
으로 시간을 설정 한 다음 WaitForSingleObject()
을 수행하는 것이 좋습니다. 코드가 일시 중지되고 컴퓨터를 대기 모드로 설정할 수 있습니다 (최대 절전 모드 일 수도 있지만 시스템 종료 모드가 아닐 수도 있음). 타이머에 도달하면 PC가 재개되고 프로그램도 재개됩니다.
C의 전체 예제는 here을 참조하십시오.이 예에서는 타이머의 시간 차이를 계산하는 방법과 스레드에서 대기를 수행하는 방법을 보여줍니다 (그래픽 응용 프로그램을 작성하는 경우).
내가 추가해야하는 Windows 작업 스케줄러 ('이 작업을 실행하기 위해 컴퓨터 깨우기')를 사용하여 컴퓨터를 깨우도록 예약 할 수도 있습니다. 이것은 컴퓨터가 종료 될 때도 가능합니다. 컴퓨터 BIOS에 깨우기 시간을 설정하는 옵션도 있습니다.(메인 보드
echo 2006-02-09 23:05:00 > /proc/acpi/alarm
참고 나는이 모든 테스트하지 않았습니다, 그리고 하드웨어에 크게 의존 :
리눅스에서, 당신은 특수 파일로 작성하여 일어나 컴퓨터를 설정할 수 있습니다). 그러나 모든 종류의 깨우기는 모든 최신 PC에서 사용할 수 있어야합니다.
CreatewaitableTimer가 정답입니다. SetWaitableTimer에 대한 fResume 인수를 TRUE로 설정하십시오. –
기회는, 당신은이 작업을 수행하려는 경우, 당신은 서버와 작동하는지 : http://en.wikipedia.org/wiki/Real-time_clock_alarm, 여기가 창에 그것을 주장하는 프로그램입니다. 그런 경우 메인 보드에는 IMPI베이스 보드 관리 컨트롤러가 있어야합니다. IPMI를 사용하여 섀시 전원을 원격으로 순환시킬 수 있습니다. 일반적으로 BMC는 자체 IP 주소를 가지며이 IP 주소에 연결하여 제어 메시지를 보낼 수 있습니다.
- 1. C# 응용 프로그램 속성을 다시 컴파일하여 유지할 수있는 방법이 있습니까?
- 2. ARM 기반 컴퓨터를 사용하여 Android 용으로 개발할 수있는 방법이 있습니까?
- 3. ADAM - 응용 프로그램 별 특성을 "저장"할 수있는 방법이 있습니까?
- 4. 응용 프로그램 플랫폼의 중간 코드를 독립적으로 만들 수있는 방법이 있습니까?
- 5. Elmah에서 프로그래밍 방식으로 응용 프로그램 이름을 설정할 수있는 방법이 있습니까?
- 6. 응용 프로그램 수준에서 예외를 처리 할 수있는 방법이 있습니까? Android
- 7. 응용 프로그램 매니페스트를 구문 분석 할 수있는 방법이 있습니까?
- 8. xbap 응용 프로그램 크기를 줄이는 방법이 있습니까?
- 9. C#을 열거 기능으로
- 10. 내 ClickOnce 응용 프로그램에서 DLL 혼란을 줄일 수있는 방법이 있습니까?
- 11. 숨겨진 jar 파일을 시작할 수있는 방법이 있습니까?
- 12. 디버그 C# 응용 프로그램
- 13. 컴퓨터를 제어 할 수있는 웹 사이트를 사용할 수 있습니까?
- 14. Flash가 객체를 캐시했는지 확인할 수있는 방법이 있습니까?
- 15. TinyScheme에서 입출력을 라우팅 할 수있는 방법이 있습니까?
- 16. 내 방법이 도우미, 유틸리티이거나 확장 기능으로 바뀌어야합니까?
- 17. XUL에서 프로세스의 피드백을 얻을 수있는 방법이 있습니까?
- 18. Windows에서 Java 응용 프로그램의 "openwith"이름을 바꿀 수있는 방법이 있습니까?
- 19. C# 응용 프로그램 로거
- 20. 실행중인 응용 프로그램 목록을 가져 오는 플랫폼 간 방법이 있습니까?
- 21. objective-c 응용 프로그램 deploymnet
- 22. Mac OS X 10.4.8을 두 번 클릭하여 example.exe C# 데스크톱 응용 프로그램을 실행할 수있는 방법이 있습니까?
- 23. A/C 전원을 사용할 수있을 때 자동으로 컴퓨터를 켭니다.
- 24. 이 3 가지 기능을 1 가지 기능으로 단순화 할 수있는 방법이 있습니까?
- 25. 컴퓨터를 열지 않고 어떤 종류의 RAM을 사용하고 있는지 확인할 수있는 방법이 있습니까?
- 26. 저속 컴퓨터를 시뮬레이션 할 수있는 방법이 있습니까/BIOS 클럭 주파수가 엉망입니까?
- 27. 병렬 파이썬을 사용할 때 작업이 실행 된 컴퓨터를 알 수있는 방법이 있습니까?
- 28. 컴퓨터를 임대 할 수 있습니까?
- 29. 응용 프로그램 바이너리에 동적 라이브러리를 패키지하는 방법이 있습니까?
- 30. 누구나 IIS 응용 프로그램 풀을 모니터링하는 더 나은 방법이 있습니까?
컴퓨터가 꺼져있는 경우 응용 프로그램이 어떻게 실행됩니까? 아니면이 장치가 원격입니까? –
물건의 전면에있는 버튼이나 벽에있는 스위치를 누를 수있는 기능을 생각할 수 없습니다. –
어떤 운영 체제를 사용하고 있습니까? ACPI에는 주어진 시간에 컴퓨터 전원을 켜는 기능이 있으며,/proc/acpi/alarm을 통해이 시간을 설정하는 옵션이 있습니다. 나는 창문 아래에서 이것이 어떻게 작동하는지 모르겠다. – jdm