Програмне забезпечення Windows для збереження довільного стану програми


14

Програмне забезпечення VM чудово справляється із збереженням стану, коли ви «вимикаєте його», дозволяючи миттєво та негайно повернутися до попереднього стану.

Чи існує якась програма для Windows, яка дозволяє мені робити те саме, для будь-якого довільного програмного забезпечення? Це дозволить мені зберегти / відновити стан, можливо, за допомогою команди оболонки або кнопки, яка додається до кожного вікна.

Редагувати: для наочності існують два типи програм: ті, що зберігають власні стани, і такі, що зберігають стан інших. Ті, що зберігають свій стан, схожі на Chrome, який при завантаженні перезавантажує вікна, які ви відкривали минулого разу.

Про це я не прошу; Я прошу додаток, який може зберегти стан інших програм, як, наприклад, програмне забезпечення VM; але для будь-якого додатка. (Тривіальний тест - це завантаження блокнота ++, введіть купу матеріалів та збереження стану; у режимі скидання ви повинні мати змогу багаторівнево скасувати багато написаного, як ніби ви ніколи не закривайте програму. )



+1 Цікаве запитання. Оскільки на інші подібні запитання я не отримав жодної хорошої (якщо є) відповіді, я скептично ставлюсь.
Ніфле

@Nifle погодився. В принципі, це повинно бути можливим (збережіть дамп пам'яті програми, перезавантажте його при перезапуску) - так у мене є відчуття, що воно існує; Я просто не можу знайти додаток, який це робить.
ashes999

Читайте: Зимова сплячка.
Привіт71

У моєму випадку сплячка не є рішенням. Я був користувачем великої сплячки, поки не придбав диск SSD. Перевірте відповідь @Matthew A. Schneider.
Mario S

Відповіді:


3

Загрожуючи несанкціонованим голосом, я можу дати негативну відповідь.

Багато людей хотіли б цього, в тому числі і я. Я також довго шукав такий продукт, перш ніж зрозумів, що він не існує, і справді не може існувати. Можливо, можливі обмежені реалізації призупинення / несприйняття, але не загальні.

Подумайте, наприклад, про призупинення роботи програми, яка має відкритий файл на компакт-диску або відкрите підключення до Інтернету. Тепер уявіть, що знадобиться для "призупинення" та "відключення" його: усі файли та з'єднання, які потрібно зберегти під час призупинення, потім на відключення, щоб їх знову створили, CD-привід, можливо, перевіряється і файл відкривається, підключення до Інтернету потрібно повторно -встановлюється з усією інформацією про вхід на сайт тощо, тощо.

Це просто надто складно для впровадження в будь-якій операційній системі, і це також було б дією для безпеки, оминаючи необхідність введення логіну, якщо стан програми було "захоплено" відразу після входу. Щоб правильно призупинити програму, потрібно було б просто зберегти стан всієї операційної системи (яка існує).


4
Якщо це працює на сплячку, немає ніяких причин не працювати в сценарії, описаному ОП. Вам, звичайно, доведеться відновити ручки файлів і керувати безпекою, але ніхто не сказав, що це буде просто. Однак, для демпінгу необробленої пам'яті потрібні привілеї, які має мати лише операційна система. Вам доведеться серйозно довіритися програмі, щоб надати їй ОС привілеї (припускаючи, що навіть можна надати їй такі привілеї).
Xr.

@Xr: Зимова сплячка призначена для всього комп’ютера, який, як я казав, існує (хоча програми не гарантують, що вони не вийдуть з ладу). Випадок "одна програма" насправді не існує, оскільки стан програми є частиною стану операційної системи. Як ви кажете, цей механізм можливий, але він повинен бути вбудований в саму операційну систему. Програма, що працює в просторі користувача, не має необхідного доступу до системних таблиць та драйверів, і для цього також потрібні дуже спеціалізовані знання.
harrymc

Ти маєш рацію, що це складно. Я почав запитання щодо цього, і відповідь, як і очікувалося, "дуже складно будувати через всі ці питання".
ashes999

5

Без віртуалізації ваш єдиний варіант в Microsoft Windows - це пауза / відновлення програм. Утиліти, які можуть це зробити, - це PySuspend і Pausep . Це не дозволить виконати будь-яке "скасування".

Хоча існують продукти віртуалізації, такі як QubesOS, які можуть робити те, що ви шукаєте для систем Linux, ви, швидше за все, не побачите цього в Microsoft Windows без прямої підтримки Microsoft. Однак навіть за допомогою QubesOS для запуску програм Windows має бути можливість запустити такий продукт віртуалізації, як VirtualBox або VMWare Workstation. Ви також можете запускати програми Windows через вино , з усіма перевагами абстракції QubesOS.

Крім того, ви можете запустити кілька віртуальних машин під окремою копією Windows під кожною з них. Деякі версії MS Windows дозволяють запускати одну або кілька копій ОС, віртуалізованих, за однією ліцензією.


Так, у гіршому випадку, я завжди можу мати свій ПК як «тонкий» клієнт і запускати все всередині VM (з 10-відсотковою швидкістю у випадку з VM Ware). Це не поганий план резервного копіювання - якщо ви не поділитесь своїм комп’ютером з нетехнологіями, які цікавляться, що ви робите :)
ashes999

Чи дозволяють ці інструменти зробити паузу, вимкнути програму та відновити з попереднього стану?
ashes999

1
PySuspend і Pausep видають Windows, еквівалентну сигналам POSIX SIGSTOP / SIGCONT. Це не дозволяє програмі повністю «вимкнутись», вона не звільняє жодних виділень пам'яті. Вони просто зупиняють процес використання будь-якого процесора, поки ви не призупините / відновите процес.
ewindisch

1

Це можливо. Перевірте наступне.

Twinsplay: http://www.twinsplay.com/learn-more-about-twinsplay

SmartClose: http://download.cnet.com/SmartClose/3000-2094_4-10784165.html


1
Чому це? Як вони вирішують проблему?
але

Я думаю, що ця відповідь була несправедливо спростована. Після відповіді @harrymc, це хороші альтернативи додатку, який вимагає ashes999. Зараз я шукаю щось схоже на попіл, тому що у мене є диск SSD, і я не хочу перезимовувати. У цьому сенсі SmartClose здається мені цікавим рішенням, яке я зараз пробую.
Маріо S

SmartClose ( ghacks.net/2008/12/03/smart-close ) і, ймовірно, Twinsplay занадто просто відкривають вікна та розраховують на те, що самі програми зберегли свій стан
мікрофон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.