শাটডাউনে অ্যাপ্লিকেশনগুলির স্বয়ংক্রিয়ভাবে সমাপ্তি অক্ষম করুন


8

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

উত্তর:


10

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

কোডটি ভিজ্যুয়াল সি # ২০০৮ এক্সপ্রেস সংস্করণ বা উইন্ডোজ এসডিকে দিয়ে বিনামূল্যে সংকলন করা যেতে পারে ।

এসডিকে দিয়ে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

csc.exe   /out:StopShutdown.exe /target:winexe StopShutdown.cs 

কোডটি এখানে:

using System;
using System.Windows.Forms;
using Microsoft.Win32;

namespace StopShutdown
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
           string desktopRegKey = @"HKEY_CURRENT_USER\Control Panel\Desktop";
           Registry.SetValue(desktopRegKey, "AutoEndTasks", 0);
           Registry.SetValue(desktopRegKey, "WaitToKillAppTimeout", 20000);
           Registry.SetValue(desktopRegKey, "HungAppTimeout", 20000);

            Form AppForm = new Form()
                {
                    ClientSize = new System.Drawing.Size(0, 0),
                    ControlBox = false,
                    FormBorderStyle = FormBorderStyle.None,
                    Opacity = 0,
                    ShowIcon = false,
                    ShowInTaskbar = false,
                    SizeGripStyle = SizeGripStyle.Hide,
                };

            SystemEvents.SessionEnding += (_e, e) =>
            {
                DialogResult dr = MessageBox.Show(
                                    "Cancel shutdown?"
                                    , "Shutdown",
                                    MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Question,
                                    MessageBoxDefaultButton.Button1);

                e.Cancel = (dr == DialogResult.Yes);
            };


            Application.Run(AppForm);
        }

    }
}

সম্পাদনা:

ডাউনলোডযোগ্য উত্স এবং উদাহরণ


আপনি কি একজন ভাল মানুষ হয়ে "স্টপশুটডাউন.এক্সই" কোথাও আপলোড করবেন বা আমাকে ইমেল করবেন? (আপনি যদি না বলেন তবে আমি বুঝতে পারি)
লন্ড্যান্ড


ভাল কাজ, আপনি সত্যিই কাছাকাছি এসেছেন: আমি একটি সংরক্ষিত ফাইল খোলা রেখে দিয়েছি তখন আমি স্টার্ট মেনু থেকে শাটডাউন শুরু করলাম, পরের প্রম্পটে আমাকে জিজ্ঞাসা করলাম আমি কি শাটডাউন বাতিল করতে চাই কিন্তু যখন আমি কয়েক সেকেন্ড অপেক্ষা করেছিলাম, উইন্ডোজ আপনার প্রোগ্রামটি বন্ধ করে দিয়েছিল শাটডাউন প্রক্রিয়া ...
লন্ড্যান্ড

হ্যাঁ, আপনি যদি এক্সপি আরও অপেক্ষা করতে চান তবে আপনাকে অন্য পোস্টে উল্লিখিত রেজিস্ট্রি মানগুলি সংশোধন করতে হবে। আমি কোডটি আপডেট করব ...
স্কট ওয়েইনস্টেইন

আসলে আমি চাই এক্সপি শাটডাউন প্রক্রিয়া স্থায়ীভাবে বন্ধ করে দিন (যেমন ভিস্তার মতো)। যাইহোক আপনার উত্তরটি এখন পর্যন্ত নিকটতম ...
Lawand

2

আপনি যদি সামান্য রেজিস্ট্রি সম্পাদনা করতে ইচ্ছুক হন ... -> চালান -> রিজেডিট শুরু করুন

HKEY_CURRENT_USER \ কন্ট্রোল প্যানেল \ ডেস্কটপ

অটোএন্ডটাস্কগুলি 0 হয় তা নিশ্চিত করুন এবং 20000 (2 সেকেন্ডের ডিফল্ট মান) এ ওয়েটটোকিল অ্যাপটাইমআউট সেট করুন। আপনি যদি চান তবে মানটি আরও সেট করতে পারেন। হ্যাংঅ্যাপটাইমআউটও রয়েছে (ডিফল্টটি 5000 টি) তবে এটি এমন অ্যাপ্লিকেশনগুলিতে বেশি প্রয়োগ করে যা সাড়া দিচ্ছে না।


এটি অ্যাপ্লিকেশনগুলিকে সঠিকভাবে বন্ধ করার জন্য আরও সময় দেয়, তবে এটি স্থায়ীভাবে শাটডাউন প্রক্রিয়াটি থামায় না ...
লন্ড্যান্ড

0

আমি যখনই এক্সপি-তে শাটডাউন করি, কোনও প্রোগ্রাম যদি ব্যস্ত থাকে তবে এটি আমাকে একটি অগ্রগতি বার এবং 'এখনই শেষ' বা 'বাতিল' করার বিকল্প দেয়।

'বাতিল' ক্লিক করলে শাটডাউন প্রক্রিয়া বন্ধ হয়ে যায়। যাইহোক, এটি ইতিমধ্যে শাটডাউন যা আছে তা আর ফিরে আসবে না।

তবে শাটডাউনটি পুনরায় চেষ্টা করার আগে আমি যা কাজ করেছিলাম তা সংরক্ষণ করার জন্য এটি আমাকে সময় দেয় না।


তবে যদি কোনও প্রোগ্রাম প্রতিক্রিয়া জানায় (ব্যস্ত নয়) তবে এটি সংরক্ষণ না করা ডেটা থাকলেও এটি বন্ধ করতে বাধ্য হবে
লন্ড্যান্ড

এটি আপনি যা চেয়েছিলেন তা নয় - যদি এটি প্রতিক্রিয়া জানায় না, আপনি শাটডাউন করার চেষ্টা করছেন বা না করেন তাতে কিছু আসে যায় না, আপনি সংরক্ষণ না করা ডেটা হারাবেন
ওয়ারেন

দুঃখিত, আমার "ব্যস্ত প্রোগ্রাম" বলা উচিত ছিল না, আমি এমন প্রোগ্রামগুলিকে বোঝাই যা একটি সংরক্ষিত ডেটা রয়েছে এবং যা ব্যস্ত নেই ...
Lawand

1
ওহ, তবে আমার উত্তর এখনও দাঁড়িয়ে আছে - কমপক্ষে এক্সপি-র প্লেন-ভ্যানিলা ইনস্টলগুলিতে: যে কোনও সময় আমি শাটডাউন করেছি তবে উদাহরণস্বরূপ, ওয়ার্ডে একটি সংরক্ষিত ডক ছিল, আমার শাটডাউনটি বাতিল করার সুযোগ ছিল, আমার ডকটি সংরক্ষণ করুন (গুলি), এবং তারপরে শাটডাউন প্রক্রিয়াটি পুনরায় চালু করুন
ওয়ারেন

বেশ কয়েকদিন আগে আমি এক্সপি এসপি 3 ইনস্টল করেছি এবং এখন সিস্টেম আপনি যা বলবেন তাই করেন, এসপি 2 দিয়ে এটি হয় নি ...
Lawand
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.