উইন্ডোজ plug প্লাগ ইন করা বা প্লাগ ইন করা অবস্থায় ট্রিজারিং কাজগুলি এবং চলমান প্রোগ্রামগুলি? [প্রতিলিপি]


4

সম্ভাব্য সদৃশ:
বিদ্যুতের ইভেন্টগুলিতে কোনও প্রোগ্রাম চালানোর কোনও উপায় আছে কি?

এমন কোনও উইন্ডোজ ইভেন্ট আছে যা আমি টাস্ক শিডিয়ুলারে দেখতে পাচ্ছি যা পাওয়ারটি প্লাগ ইন হওয়ার পরে ট্রিগার করবে? এবং একটি ইভেন্ট যখন পাওয়ার আনপ্লাগ হয়?

আমি ব্যাটারি শক্তি চলাকালীন ক্র্যাশপ্ল্যান শুরু এবং বন্ধ করতে চাই। (এটি ক্র্যাশপ্ল্যানে 2.5 বছরের পুরানো বৈশিষ্ট্যের অনুরোধ এবং সত্যই আমি তাদের এটি যুক্ত করার জন্য অপেক্ষা করতে পারি না))

অন্যরা পূর্বে জিজ্ঞাসা করেছে যে কীভাবে ব্যাটারি শক্তিতে সুপারফ্যাচ এবং অনুসন্ধান সূচী অক্ষম করতে হয়। আমি মনে করি এই কৌশলটি এই প্রশ্নগুলিও সমাধান করবে।

এমন কি উইন্ডোজ ইভেন্ট আছে? যদি তা না হয় তবে এমন কোনও প্রোগ্রাম থাকতে পারে যা আমি ইনস্টল করতে পারি যা বিদ্যুতের পরিবর্তনগুলি সনাক্ত করে, যা আমি তখন একটি টাস্ক শিডিয়ুলার ট্রিগার তৈরি করতে পারি।

উত্তর:


4

ডিফল্টরূপে, আপনি যখন কম্পিউটারে আনপ্লাগ বা প্লাগ ইন করেন তখন উইন্ডোজ কোনও ইভেন্ট লগ করে না।

তবে পাওয়ারশেলের সাহায্যে আপনি এই জাতীয় পরিবর্তনটি শুনতে পারবেন এবং লগতে আপনার নিজের ইভেন্টগুলি লিখতে পারেন। এই স্ক্রিপ্টটি এটি করবে:

New-EventLog -Source BatteryStatusMonitor -LogName Application

Function OnBatteryStatusChange ($NewStatus) {
  If ($NewStatus -eq 1) {
    $EventID = 5001
    $Message = "The computer was unplugged."
  } ElseIf ($NewStatus -eq 2) {
    $EventID = 5002
    $Message = "The computer was plugged in."
  } Else {
    $EventID = 5000
    $Message = "Battery status changed to $NewStatus"
  }
  Write-EventLog -LogName Application -Source BatteryStatusMonitor -EventID $EventID -Message $Message
}

$Query = "select * from __instancemodificationevent within 3 where targetinstance isa 'win32_battery' and targetinstance.batterystatus <> previousinstance.batterystatus"

Register-WmiEvent -Query $Query -Action {OnBatteryStatusChange $Event.SourceEventArgs.NewEvent.TargetInstance.BatteryStatus} -SourceIdentifier "BatteryStatusChange"

For (;;) {}

0

যদি আপনি কেবল উইন্ডোজ ভিস্তা এবং তারপরে সমর্থন করতে আগ্রহী হন, পাওয়ার ইভেন্টগুলির জন্য নিবন্ধ করুন

জিইউইডি_এসিডিসি_POWER_SOURCE মান সহ রেজিস্টার পাওয়ারসেটিংনোটিকেশন ব্যবহার করুন ।


যদি ওপেন একমাত্র ইভেন্টটি ক্যাপচার করতে চায় তবে উইন 32 এপিআইয়ের মাধ্যমে এসি চার্জারের স্থিতির পরিবর্তন হয়, তবে তিনি হ্যান্ডলারেক্স কলব্যাকের SERVICE_CONTROL_POWEREVENT কন্ট্রোল কোডের মাধ্যমে নিবন্ধকের সেবাCtrlHandlerEx, বা উইন্ডোপ্র্যাসক্রেট বার্তায় WM_POWERBROADCAST বার্তার মাধ্যমে PBT_APMPOWERSTATUSCHANGE ইভেন্টগুলি হ্যান্ডেল করতে পারবেন। এটি উইন্ডোজ এক্সপি এবং তারপরে সমর্থন করা উচিত। তবে তিনি উইন্ডোজ ইভেন্টের জন্য বলেছিলেন।
কেভিন জিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.