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

Вниз

IScheduledWorkItem.SetAccountInformation   Найти похожие ветки 

 
alxx   (2002-09-11 15:55) [0]

Пытаюсь программировать планировщик. Если добавлять задание и не давать пароля, то задача не выполняется. Однако, в MSDN сказано:

HRESULT SetAccountInformation(
LPCWSTR pwszAccountName,
LPCWSTR pwszPassword
);


pwszPassword
[in] String that contains the password for the account specified in pwszAccountName.
Set this parameter to NULL if the local account is specified or, optionally, for an account other than local system if the TASK_FLAG_RUN_ONLY_IF_LOGGED_ON flag was not passed to IScheduledWorkItem::SetFlags. (The TASK_FLAG_RUN_ONLY_IF_LOGGED_ON flag is provided so that applications can schedule tasks in their own accounts without knowing their own accounts" passwords.)


т.е. я так понимаю, если сделать так: SetAccountInformation("", nil); то задача должна выполняться для текущего аккаунта даже если пароль не задан. Но! выполняется она как то непонятно. Звук есть, а окна и сообщения на экран НЕ ВЫВОДЯТСЯ. Где я не прав?


 
alxx   (2002-09-11 16:00) [1]

Кстати, нигде не могу найти декларации
TASK_FLAG_RUN_ONLY_IF_LOGGED_ON!


 
alxx   (2002-09-11 17:22) [2]

A?


 
Ученик   (2002-09-11 17:24) [3]

#define TASK_SUNDAY (0x1)
#define TASK_MONDAY (0x2)
#define TASK_TUESDAY (0x4)
#define TASK_WEDNESDAY (0x8)
#define TASK_THURSDAY (0x10)
#define TASK_FRIDAY (0x20)
#define TASK_SATURDAY (0x40)
#define TASK_FIRST_WEEK (1)
#define TASK_SECOND_WEEK (2)
#define TASK_THIRD_WEEK (3)
#define TASK_FOURTH_WEEK (4)
#define TASK_LAST_WEEK (5)
#define TASK_JANUARY (0x1)
#define TASK_FEBRUARY (0x2)
#define TASK_MARCH (0x4)
#define TASK_APRIL (0x8)
#define TASK_MAY (0x10)
#define TASK_JUNE (0x20)
#define TASK_JULY (0x40)
#define TASK_AUGUST (0x80)
#define TASK_SEPTEMBER (0x100)
#define TASK_OCTOBER (0x200)
#define TASK_NOVEMBER (0x400)
#define TASK_DECEMBER (0x800)
#define TASK_FLAG_INTERACTIVE (0x1)
#define TASK_FLAG_DELETE_WHEN_DONE (0x2)
#define TASK_FLAG_DISABLED (0x4)
#define TASK_FLAG_START_ONLY_IF_IDLE (0x10)
#define TASK_FLAG_KILL_ON_IDLE_END (0x20)
#define TASK_FLAG_DONT_START_IF_ON_BATTERIES (0x40)
#define TASK_FLAG_KILL_IF_GOING_ON_BATTERIES (0x80)
#define TASK_FLAG_RUN_ONLY_IF_DOCKED (0x100)
#define TASK_FLAG_HIDDEN (0x200)
#define TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET (0x400)
#define TASK_FLAG_RESTART_ON_IDLE_RESUME (0x800)
#define TASK_FLAG_SYSTEM_REQUIRED (0x1000)
#define TASK_FLAG_RUN_ONLY_IF_LOGGED_ON (0x2000)
#define TASK_TRIGGER_FLAG_HAS_END_DATE (0x1)
#define TASK_TRIGGER_FLAG_KILL_AT_DURATION_END (0x2)
#define TASK_TRIGGER_FLAG_DISABLED (0x4)
#define TASK_MAX_RUN_TIMES ( 1440 )


 
alxx   (2002-09-11 17:35) [4]

Спасибо. У меня такого просто не было, видимо старые версии какие-то...
Но проблема то, похоже все равно остается. Приложения, которые запускает планировщик остаются невидимыми, даже если их показывать ShowWindow(Application.Handle, SW_SHOW);

А если задать нормальный правильный пароль, то все работает нормально.


 
alxx   (2002-09-12 10:04) [5]

Никто не знает?


 
Ученик   (2002-09-12 10:07) [6]

>alxx © (12.09.02 10:04)
Приведи код, так будет быстрее


 
alxx   (2002-09-12 12:48) [7]

Спасибо, я разобрался уже.
Там оказывается надо имя пользователя дать, а пароль nil, и флаг
TASK_FLAG_RUN_ONLY_IF_LOGGED_ON.



N:=SizeOf(Buf)-1;
Windows.GetUserName(Buf, N);
sUSER := StringToOleStr(PChar(@Buf[0]));

pWorkItem.SetAccountInformation(sUSER,nil);
SysFreeString(sUSER);

pWorkItem.SetTaskFlags(TASK_FLAG_RUN_ONLY_IF_LOGGED_ON);




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

Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-73524
grig
2002-09-02 15:24
2002.09.23
что за разшерение такое *.dbt ?


3-73551
Vasechkin
2002-09-03 08:00
2002.09.23
Срочно нужна помощь!!!!!!!


3-73520
RangerBetta
2002-09-02 13:22
2002.09.23
Денежные поля, предсаивелние в InterBase


3-73547
Shtukatur
2002-08-30 08:38
2002.09.23
Как тут быть?


1-73671
Shoo
2002-09-13 09:42
2002.09.23
Одноразовая прога





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский