Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2016.01.10;
Скачать: [xml.tar.bz2];

Вниз

выполнить задание при спящем режиме   Найти похожие ветки 

 
SKIPtr ©   (2015-05-07 08:30) [0]

драсте подскажите пожалуйста как выполнить задание планировщика когда он находиться в спящем(гибер) режиме
он должен запуститься и выполнить
но если компьютер находиться в рабочем режиме то задание не выполнять


 
Игорь Шевченко ©   (2015-05-07 10:19) [1]

никак


 
brother ©   (2015-05-07 11:03) [2]

никак, считай, что комп выключен...


 
SKIPtr ©   (2015-05-07 18:21) [3]


> считай, что комп выключен...

задание при спящем режиме выполнить можно
он проснеться и выполнит
но проблема в том шо он его выполнит и в рабочем режиме
а мне нужно шоб в рабочем режиме он не запустил это задание

пока мой вариант это в рабочем режиме это задать задание в выключеном режиме
когда ком уходит в сон то происходит задание которое включит выключеное задание
а при выходе из сна произойдет выключение задания

просто я хотел услышать вариант полегче


 
brother ©   (2015-05-07 18:36) [4]

вот это я называю: "поток чистой мыли"...
делайте выводы...


 
Smile ©   (2015-05-07 18:41) [5]

> задание при спящем режиме выполнить можно он проснется и выполнит
Не забудь его разбудить :)


 
SKIPtr ©   (2015-05-07 19:06) [6]


> Не забудь его разбудить :)

это не проблема
он сам проснеться


 
кгшзх ©   (2015-05-07 19:09) [7]

спящем(гибер)

а ты в курсе вообще что это не муж и жена, а два совершенно разных режима?


 
SKIPtr ©   (2015-05-07 20:12) [8]


> два совершенно разных режима


я пишу о том че в планеровщике написано как пробуждать комп для выполнения
и мне нужно шоб выполнилось только в режиме пробуждения
в работающем режиме не выполнять


 
brother ©   (2015-05-07 20:29) [9]

Вы можете изъясняться понятнее?


 
Pavia ©   (2015-05-07 21:47) [10]

Перехватываешь уход в сон. Пишешь время на пробуждение в свою переменную Event и в переменную RTC. Ставишь свой планировщик в активный режим. Усыпляешь ком. По приходу времени комп просыпается. Твое приложение так как активное периодически раз в 5 секунд проверяет время и Event время Если разница по абсолюту менее 15 секунд то генерируем свое сообщение(событие) о пробуждении. Переводим свой планировщик в неактивный режим. В неактивном режиме приложение ждет пока сработает перехват на уход в сон.


 
Inovet ©   (2015-05-08 02:12) [11]

Кряк №2
Запустились, посмотрели время-выхода-из-спящего-режима, продолжли или завершились. Но, блин, запустились же.

Чё то не то в логике.


 
Кто б сомневался ©   (2015-05-08 16:56) [12]


> SKIPtr ©   (07.05.15 20:12) [8]
>
>
> > два совершенно разных режима
>
>
> я пишу о том че в планеровщике написано как пробуждать комп
> для выполнения
> и мне нужно шоб выполнилось только в режиме пробуждения
> в работающем режиме не выполнять


Тебе нужно чтобы что-то выполнилось в момент выхода из режима сна - когда комп включился?
А что такое "в работающем режиме не выполнять" - что такое работающий режим?
Комп запустился, кулера шумят - это работающий режим?


 
Кто б сомневался ©   (2015-05-08 17:18) [13]


> когда ком уходит в сон то происходит задание которое включит
> выключеное задание
> а при выходе из сна произойдет выключение задания


Выше уже написали, что когда комп находится в режиме сна - там не работают программы, Windows итд - не работает процессор, считай что он выключен с розетки.
В режиме сна подается питание только на оперативную память - чтобы данные не исчезли - чтобы быстро включить Windows.
Выполнить какой-то скрипт или программу можно только когда комп работает.


 
SKIPtr ©   (2015-05-08 17:38) [14]


> Перехватываешь уход в сон. Пишешь время на пробуждение в
> свою переменную Event и в переменную RTC. Ставишь свой планировщик
> в активный режим.

так это шо написать свой планеровщик
такие мысли меня посещали
может дойду до такого
но пока хочеться попробывать это планеровщиком от винды


> Тебе нужно чтобы что-то выполнилось в момент выхода из режима
> сна

мне нужно это выполнить когда на компе нет работы
режим сна нужен только для того что есть задания которые надо выполнить в автоматическом режиме и скорей всего с выключеного компа
при полном выключении это не выполнить нельзя поэтому компьютор будет спать


> А что такое "в работающем режиме не выполнять" -

в задании скорей всего будет ресет
и если я буду работать а комп не с того не сего захочет ресетися и вся работа будет посеяна


 
SKIPtr ©   (2015-05-08 17:45) [15]


> Выше уже написали, что когда комп находится в режиме сна
> - там не работают программы, Windows итд - не работает процессор,
>  считай что он выключен с розетки.

в планеровщике есть галочка с надписю пробуждать комп
комп просыпаеться я это уже дома спользую в качестве будильника


> Выполнить какой-то скрипт или программу можно только когда
> комп работает.

так я не писал о том шо он будет это делать в спящем режиме
он проснеться выполнит и уйдет опять в сон


 
Юрий Зотов ©   (2015-05-08 18:24) [16]

1. Делаем программу P, которая допускает запуск себя только в одном экземпляре, а в командной строке может иметь параметр.  

2. В автозагрузку пишем запуск программы P БЕЗ ПАРАМЕТРОВ.
3. Без параметров программа P ждет ухода в сон и больше ничего не делает.
4. Перехватив уход в сон, программа P формирует планировщику задачу на запуск самой себя С ПАРАМЕТРОМ и завершается.
5. Комп уснул.

6. Планировщик проснулся и запустил программу P С ПАРАМЕТРОМ.
7. Видя параметр, программа P удаляет задачу планировщика, затем выполняет нужные действия, а затем снова ждет ухода в сон.
8. GoTo 4.


 
Кто б сомневался ©   (2015-05-08 18:38) [17]


> он проснеться выполнит и уйдет опять в сон


А если комп не просыпался, а его включил юзер (но как отличить незнаю) - чтобы задача не выполнялась.
Так чтоли?

И все это нужно сделать средствами Винды без написания exe?


 
Кто б сомневался ©   (2015-05-08 20:14) [18]


> И все это нужно сделать средствами Винды без написания exe?


Ну я имею ввиду wsh скрипты - потому что про Delphi и exe вроде не было упоминания.


 
SKIPtr ©   (2015-05-08 20:14) [19]


> А если комп не просыпался, а его включил юзер (но как отличить
> незнаю) - чтобы задача не выполнялась.Так чтоли?

совершено верно


> И все это нужно сделать средствами Винды без написания exe?

хотелось бы сделать это так возможно через планировщик
но если не получиться тогда буду думать об ехе
вот хороший вапиант вот здесь


> Юрий Зотов ©   (08.05.15 18:24) [16]


 
SKIPtr ©   (2015-05-08 20:31) [20]

Удалено модератором


 
Кто б сомневался ©   (2015-05-08 20:38) [21]

Ну на Delphi я бы наличие юзера определял по движению мыши поставив на нее хук.

Если сразу после слипа (if (AMsg = WM_POWERBROADCAST) and (wParam = PBT_APMRESUMEAUTOMATIC) then), в течении 10 минут мышка не двигалась - знач. запустилось автоматом - делаем что надо.


 
Кто б сомневался ©   (2015-05-08 20:40) [22]

https://msdn.microsoft.com/en-us/library/windows/desktop/aa372718(v=vs.85).aspx
Remarks

If the system detects any user activity after broadcasting PBT_APMRESUMEAUTOMATIC, it will broadcast a PBT_APMRESUMESUSPEND event to let applications know they can resume full interaction with the user.


 
Кто б сомневался ©   (2015-05-08 20:47) [23]

Как отличить запустился ли сам комп, или его запустил юзер:

Если запустился сам (нет активности юзера) - то PBT_APMRESUMESUSPEND не приходит.

Если запустил юзер - то в WM_POWERBROADCAST приходит PBT_APMRESUMESUSPEND, а потом PBT_APMRESUMESUSPEND.

If the system wakes due to an external wake signal (remote wake), the system broadcasts only the PBT_APMRESUMEAUTOMATIC event. The PBT_APMRESUMESUSPEND event is not sent.

If the system wakes due to user activity (such as pressing the power button) or if the system detects user interaction at the physical console (such as mouse or keyboard input) after waking unattended, the system first broadcasts the PBT_APMRESUMEAUTOMATIC event, then it broadcasts the PBT_APMRESUMESUSPEND event. In addition, the system turns on the display. Your application should reopen files that it closed when the system entered sleep and prepare for user input.

https://msdn.microsoft.com/en-us/library/windows/desktop/aa372720(v=vs.85).aspx


 
Кто б сомневался ©   (2015-05-08 20:58) [24]


>  [23]


Тут по идее даже без хука на мышь можно. Разве что на случай если юзер сядет за включенный комп.


 
Игорь Шевченко ©   (2015-05-08 21:16) [25]


> так это шо написать свой планеровщик
> такие мысли меня посещали
> может дойду до такого
> но пока хочеться попробывать это планеровщиком от винды


Забаню за неуважение к языку. Официальное предупреждение.


 
Кто б сомневался ©   (2015-05-08 21:42) [26]

Кстати комп можно включить через определенное время программно (обычный SetWaitableTimer таймер)

http://www.codeproject.com/Tips/628562/How-to-wake-up-a-PC-using-waitable-timer
и
https://msdn.microsoft.com/en-us/library/windows/desktop/aa373235(v=vs.85).aspx


 
SKIPtr ©   (2015-05-08 22:02) [27]

Удалено модератором


 
Германн ©   (2015-05-09 02:04) [28]

Удалено модератором


 
Inovet ©   (2015-05-09 05:12) [29]

> [19] SKIPtr ©   (08.05.15 20:14)
> вот хороший вапиант вот здесь
>
> > Юрий Зотов ©   (08.05.15 18:24) [16]

Здесь тоже не выполнено условие незапука программы в "работающем режиме".


 
Inovet ©   (2015-05-09 05:17) [30]

Удалено модератором


 
Inovet ©   (2015-05-09 05:20) [31]

Удалено модератором


 
SKIPtr ©   (2015-05-09 06:44) [32]


> Если ты это всё знаешь сам, то зачем задавать вопросы

а вдруг есть получше варианты


> Здесь тоже не выполнено условие незапука программы в "работающем
> режиме".

при запуске юзером произойдет событие выключающее это задание


 
Кто б сомневался ©   (2015-05-10 15:21) [33]


> а вдруг есть получше варианты


Можно еще поискать какой нить продвинутый планировщик, который все это может делать.
Или размять мозги (гы) и написать свой.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2016.01.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.002 c
2-1404306028
Кирилов Андрей
2014-07-02 17:00
2016.01.10
D2010 & QuickReport


15-1431453196
Kerk
2015-05-12 20:53
2016.01.10
Опознание


15-1430602781
Дмитрий С
2015-05-03 00:39
2016.01.10
Программы для тренировок по вокалу


3-1306327887
yurikon
2011-05-25 16:51
2016.01.10
Подключение к MySQL без ODBC


2-1404361144
lewka_s
2014-07-03 08:19
2016.01.10
Обновление программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский