ඕනෑම ආකාරයක යෙදුමක් විවෘත කිරීම වැනි වින්ඩෝස් හි සෑම දෙයක්ම පාහේ විධාන විමසුමෙන් හෝ ධාවන මෙනුවෙන් කළ හැකි බව මම දනිමි .
මගේ පරිගණකය නිදා ගැනීමට හෝ වසා දැමීමට මට හැක්කේ කෙසේද ? ඒ සඳහා වන විධානය කුමක්ද?
ඕනෑම ආකාරයක යෙදුමක් විවෘත කිරීම වැනි වින්ඩෝස් හි සෑම දෙයක්ම පාහේ විධාන විමසුමෙන් හෝ ධාවන මෙනුවෙන් කළ හැකි බව මම දනිමි .
මගේ පරිගණකය නිදා ගැනීමට හෝ වසා දැමීමට මට හැක්කේ කෙසේද ? ඒ සඳහා වන විධානය කුමක්ද?
Answers:
ඔබ shutdown.exe
ඔබේ මිතුරා වනු ඇත.
වෙනත් පහසු විධානයන් මෙම ලිපිය බලන්න :
නින්ද පරිගණකය ( https://superuser.com/a/463652/249349 හි වැඩිදුර කියවන්න )
වැඩපොළ අගුළු දමන්න
ශිශිර පරිගණකය
see answers by Scott Chamberlain and Eric L
පරිගණකය නැවත ආරම්භ කරන්න
Shutdown.exe -r -t 00
වසා දැමීමේ පරිගණකය
Shutdown.exe -s -t 00
සංස්කරණය / යාවත්කාලීන කිරීම:
ශිශිරතාරකය සක්රිය කර ඇත්නම් පරිගණකයක් නිදා ගැනීම ගැටළු සහගත බව පෙනේ.
වෙනත් පිළිතුරු වලින් පිටපත් කිරීම:
ඔබට PsShutdown උත්සාහ කළ හැකිය :
නින්ද සඳහා rundll32.exe powrprof.dll, SetSuspendState 0,1,0 විධානය නිවැරදියි - කෙසේ වෙතත්, ඔබ ශිශිරත්වය අක්රිය නොකළහොත් එය නින්ද වෙනුවට ශිශිර වනු ඇත.
එය කරන්නේ කෙසේද යන්න මෙන්න:
ආරම්භක මෙනුව වෙත ගොස් cmd.exe ටයිප් කිරීමෙන් ඉහළ ක්ලික් විධාන විමසුමක් විවෘත කරන්න, දකුණු ක්ලික් කර පරිපාලක ලෙස ධාවනය තෝරන්න. පහත විධානය ටයිප් කරන්න:
powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
වන්නේ එය කළ යුතු ආකාරයට වැඩ නොකිරීමයි. SetSuspendState
පරිගණකය යම් ආකාරයක දෙමුහුන් නින්ද / ශිශිරතාරක මාදිලියකට දමනු ඇත. ආරම්භක මෙනුවෙන් ඔබ නින්ද බොත්තම භාවිතා කරන විට, ඔබේ යතුරුපුවරුවේ ඕනෑම යතුරක් එබීමෙන් ඔබට ඔබේ පරිගණකය නින්දෙන් නැවත ආරම්භ කළ හැකිය. මෙම විධාන රේඛාව භාවිතා කිරීම, ගැඹුරු නින්දේ තත්වය හේතුවෙන් නැවත ආරම්භ කිරීම මන්දගාමී වන අතර එය නැවත ආරම්භ කළ හැක්කේ ඔබේ පරිගණකයේ බල බොත්තම එබුවහොත් පමණි. යතුරු එබීම සඳහා එය නැවත ආරම්භ කළ නොහැක. ඉතින් ... සාමාන්ය ස්ථාවරයේදී මෙන් ඔබ එය නිදා ගන්නේ කෙසේද - යතුරක් එබීමෙන් නැවත ආරම්භ කළ හැකිද?
rundll32
ඇමතුම සඳහා භාවිතා නොකළ යුතුය, SetSuspendState
මන්ද එහි අත්සන අපේක්ෂිත එකට නොගැලපේ rundll32
. බලන්න: support.microsoft.com/en-us/kb/164787 හා msdn.microsoft.com/en-us/library/windows/desktop/... පළමු පරාමිතිය අසත්ය අගය වෙනුවට කුණු වෙනවා. එය නින්දට යාම වෙනුවට ශිශිර වීමට හේතුව එයයි.
පරිගණකයක් ශිශිරකරණය සක්රීය කර ඇත්නම්, පරිගණකය යතුරුපුවරුවේ අවදි නොවනු ඇත, හෝ වඩා වැදගත් ලෙස, නියමිත කාර්යයෙන් අවදි නොවන්නේ නම් වෙනත් පුද්ගලයින් විසින් පළ කරන ක්රම නිවැරදිව ක්රියා නොකරයි.
මයික්රොසොෆ්ට් හි Sysinternals මෙවලමක් වන්නේ PsShutdown විධානය භාවිතා කරමින් psshutdown -d -t 0
එය නිවැරදිව නිදාගනු ඇත, ශිශිරතාරක නොව පරිගණකයකි
run as administrator
ක්ලික් විකල්පයක් නොමැතිව
psshutdown.exe
කර සංරක්ෂිතයේ සිට උදා දක්වා පිටපත් C:\Windows\System32
කිරීම අවශ්ය වේ. psshutdown -d -t 0
අත්හිටුවීම සඳහා යමෙකුට පරිපාලක වරප්රසාද සහිතව ක්රියාත්මක කළ යුතුය. මෙය පිළිගත් පිළිතුර විය යුතු අතර , එය වින්ඩෝස් පෙර ස්ථාපනය කළ මෙවලම් සමඟ නොවුනත් ප්රශ්නයට පිළිතුරු සපයයි.
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
නින්ද සඳහා වන විධානය නිවැරදියි - කෙසේ වෙතත්, ඔබ ශිශිරත්වය අක්රිය නොකළහොත් එය නින්ද වෙනුවට ශිශිර වනු ඇත.
එය කරන්නේ කෙසේද යන්න මෙන්න:
ආරම්භක මෙනුව වෙත ගොස් යතුරු ලියනය කිරීමෙන් cmd.exe
, දකුණු ක්ලික් කිරීමෙන් සහ පරිපාලක ලෙස ධාවනය තෝරන්න . පහත විධානය ටයිප් කරන්න:
powercfg -hibernate off
powrprof.dll
ශිශිර නින්ද / අත්හිටුවීමේ තත්වය සඳහා නමක් තිබේද? දැන ගැනීමට අවශ්යයි. එය ACPI හි ඕනෑම රාජ්යයකට සම්බන්ධද?
rundll32
ඇමතුම සඳහා භාවිතා නොකළ යුතුය, SetSuspendState
මන්ද එහි අත්සන අපේක්ෂිත එකට නොගැලපේ rundll32
. බලන්න: support.microsoft.com/en-us/kb/164787 හා msdn.microsoft.com/en-us/library/windows/desktop/... පළමු පරාමිතිය අසත්ය වෙනුවට කුණු වෙනවා. එය නින්දට යාම වෙනුවට ශිශිර වීමට හේතුව එයයි.
NirCmd වින්ඩෝස් 8 හි වැඩ කරයි (එය වින්ඩෝස් 7 සමඟ ද ක්රියා කරයි යැයි සිතමි) → http://www.nirsoft.net/utils/nircmd.html
විධානය නම් standby
, නමුත් එය පරිගණකය නින්දට දමයි.
nircmd.exe standby
ඔබට දෙමුහුන් නින්ද සක්රීය කර ඇත්නම්, එය ක්රියාත්මක වනු ඇත; එනම්, එය පරිගණකය නිදා ගැනීමට සලස්වන අතර විදුලිය නැති වූ විට මතකය තැටියට පිටපත් කරයි.
බොහෝ දේ කළ හැකි විස්මෝ හි නොමිලේ උපයෝගීතාව බලන්න .
ඔබ සොයන විධානය බොහෝ විට:
wizmo standby
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
- එය පරිගණකය ශිශිරත්වයට පත් කරයි, නින්දේ නොවේ
මම කෙටිමඟක් නිර්මාණය කර ඇත rundll32.exe powrprof.dll,SetSuspendState 0,1,0
(0,0,0 සමඟද උත්සාහ කර ඇත), නමුත් කෙටිමඟ ධාවනය කිරීමෙන් මගේ පරිගණකය ශිශිරත්වයට පත් වූ බවක් පෙනෙන්නට තිබුණි. යතුරුපුවරුව භාවිතයෙන් මට පරිගණකය අවදි කිරීමට නොහැකි විය; මට බල බොත්තම එබිය යුතු අතර පරිගණකය ප්රධාන පුවරුවේ තැපැල් පණිවිඩ ආදිය පෙන්වීය.
වින්ඩෝස් ඒපීඅයි ලේඛනය කියවීමෙන් පසුව , මම පේළි 3 ක් සමඟ ඉතා සරල වැඩසටහනක් නිර්මාණය කළෙමි. මම මෙම පිටුවට සම්පාදනය කළ හැකි ක්රියාත්මක කළ හැකි දේ උඩුගත කර ඇත ("SleepTest.exe" ක්ලික් කරන්න) , නමුත් මෙම ගොනුව ටික වේලාවකට පසු මකා දැමිය හැකිය (මෙය ඉක්මන් ගූගල් සෙවුමකින් මට හමු වූ නිදහස් ගොනු සත්කාරක වෙබ් අඩවියකි).
ඔබ මාව විශ්වාස නොකරන්නේ නම් (එය මුළුමනින්ම හොඳයි) හෝ ගොනුව මකා දමා තිබේ නම්, ඔබට කේතය ඔබම සම්පාදනය කළ හැකිය, ඇත්ත වශයෙන්ම. ඔබ ලින්කර් හි අතිරේක පරායත්තතාවන්ට "PowrProf.lib" එකතු කළ යුතුය.
#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.
int main()
{
SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
return 0;
}
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
පෙනෙන ආකාරයට එකම දේ කරන බව පෙනේ, නමුත් කෙසේ හෝ ඉහත වැඩසටහන මඟින් පරිගණකය ශිශිරත්වයට පත් කළේ නැත. යතුරුපුවරුවේ ඕනෑම යතුරක් එබීමෙන් මට ක්ෂණිකව පරිගණකය අවදි කළ හැකිය (ප්රධාන පුවරුවේ තැපැල් පණිවිඩ නැත).
පහත දැක්වෙන පරිදි මෙම ලිපියේ සඳහන් කර ඇති පරිදි විධාන රේඛාවෙන් අත්හිටුවන හෝ ශිශිර විකල්පයන් ආරම්භ කළ හැකිය .
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
ඔබේ පරිගණකය ශිශිරත්වයට ඉඩදීමට සකසා ඇත්නම් ඉහත විධානය මඟින් ශිශිරකරණය ආරම්භ කරනු ඇත. ශිශිරතාරක අංගය අක්රිය කර ඇත්නම්, එය පොරොත්තු තත්වයට ඇතුළු වේ. වෙනත් පරිශීලකයින් මීට පෙර පිළිතුරු දී shutdown.exe /?
ඇති පරිදි, බොහෝ වසා දැමීමේ විකල්පයන් ලබා දෙනු ඇත.
rundll32
ඇමතුම සඳහා භාවිතා නොකළ යුතුය, SetSuspendState
මන්ද එහි අත්සන අපේක්ෂිත එකට නොගැලපේ rundll32
. බලන්න: support.microsoft.com/en-us/kb/164787 හා msdn.microsoft.com/en-us/library/windows/desktop/... පළමු පරාමිතිය අසත්ය වෙනුවට කුණු ලැබෙන, එය සෑම විටම යන්නේ වෙනුවට hibernates එසේ නින්ද.
ඔබ පළමුව හයිබර්නේට් කවුළුවල අක්රිය කර පරිගණකය නින්දේ තත්වයට පත් කළ යුතුය. පහත දැක්වෙන විධානයන් දෙකක් භාවිතා කරන්න:
powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
ප්රතිලෝම ක්රියා කිරීම සඳහා, පරිගණකය ශිශිරකරණය කිරීම සඳහා පහත විධානයන් භාවිතා කරන්න:
powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate
rundll32
ඇමතීමට අදහස් SetSuspendState
නොකරන අතර මේ සඳහා භාවිතා නොකළ යුතුය. පළමු පරාමිතිය නිවැරදි අගය වෙනුවට කුණු ලබා ගනී. එබැවින් එය සෑම විටම නින්දට යාම වෙනුවට ශිශිර වේ (ඔබ ශිශිරත්වය කිසිසේත් අක්රීය කර නොමැති නම්).
ප්රශ්නයේ වසා දැමීමේ කොටස සෑම කෙනෙකුටම පැහැදිලිය.
shutdown.exe /?
වසා දැමීම / නැවත ආරම්භ කිරීම / උසස් විකල්ප ඇරඹුම් / ස්ථිරාංග ඇරඹීම සඳහා සියලු තේරීම් පෙන්වයි.
නමුත් නින්දේ කොටස වටා බොහෝ පහරවල් එල්ල වී ඇති බව මට පෙනේ. අහඹු ශ්රිතයන් ඇමතීමට භාවිතා නොකළ යුතු
සෑම කෙනෙකුටම එය ලැබෙන අතර එය rundll32.exe
සම්පුර්ණයෙන්ම අහම්බෙන් ශිශිරකරණය සඳහා ක්රියා කරයි. නමුත් එය වින්ඩෝස් වල ස්වභාවයයි - කළු පෙට්ටියක් මිනිසුන් විසින් සොයාගෙන ඇති අතර රැකියාවක් ලබා ගැනීම සඳහා සියගණනක් වැඩ සොයාගෙන ඇත (ඩොස්ටිප් වලට කෑ ගසන්න).
බාහිර මෙවලම් යෝජනා කරන “ නිසි ” විසඳුම් බොහොමයක් ඇත , නමුත් මෙම ප්රශ්නය වසර ගණනාවක් තිස්සේ ක්රියාකාරීව පැවතුනද , මට ස්වදේශික (දෙමුහුන් / පින්වෝක් / ඕනෑම) කණ්ඩායම් පිටපතක් සොයාගත නොහැක .
ඉතින් මෙන්න මගේ සරල power_sleep.bat :
@echo off &mode 32,2 &color cf &title Power Sleep
set "s1=$m='[DllImport ("Powrprof.dll", SetLastError = true)]"
set "s2=static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);"
set "s3=public static void PowerSleep(){ SetSuspendState(false, false, false); }';"
set "s4=add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"
set "ps_powersleep=%s1%%s2%%s3%%s4%"
call powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -Command "%ps_powersleep:"=\"%"
exit
එය විශාල එක්-පේළියේ විධානයක් ලෙස පවා ක්රියා කරයි:
powershell.exe -C "$m='[DllImport(\"Powrprof.dll\",SetLastError=true)]static extern bool SetSuspendState(bool hibernate,bool forceCritical,bool disableWakeEvent);public static void PowerSleep(){SetSuspendState(false,false,false); }';add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"
ක්ෂණික SLEEPER පමණි මා වෙනුවෙන් වැඩ කරයි (වින්ඩෝස් 7,8,10 හි ක්රියා කරයි).
ps ප්රභව කේතය මෙහි ඇත.
ඔබට පයිතන් තිබේ නම් (pywin32 සමඟ) ඔබට එම SetSuspendState ශ්රිතය කෙලින්ම අමතන්න:
import ctypes
ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)
මෙය පහසුවෙන් කණ්ඩායම් ගොනුවකට හෝ කෙටිමං වර්ග කිරීමකට දැමිය හැකිය:
pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)"
එබැවින් ඔබේ .py ලිපිගොනු පරිවර්තකයා හා සම්බන්ධ නොවන්නේ නම් ඔබට සබැඳිය දෙවරක් ක්ලික් කළ හැකිය.