Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C# - Shedule task- jak potwierdzić utworzenie zadania?

szefxxx 31 Paź 2012 16:00 1329 4
  • #1 31 Paź 2012 16:00
    szefxxx
    Poziom 20  

    Witam serdecznie,

    mam pewien problem. Tworzę sobie pewne zadanie. Chciałbym utworzeniu zadania sprawdzić czy ażeby na pewno zostało utworzone. Jak mogę to zrobić?
    Posłużyłem się następującym kodem do tworzenia zaplanowanego zadania:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0 4
  • #2 01 Lis 2012 11:39
    gaskoin
    Poziom 38  

    Rozumiem, że to jakiś wrapper na winapi, bo w C# nie ma tych klas.
    Mogę tylko zgadywać co to za biblioteka i jeśli to ta, o której myślę, to nie ma do niej dokumentacji.

    W winapi metoda (właściwie funkcja) RegisterTaskDefinition jako parametr przyjmuje TaskDefinition i zamienia go na obiekt RegisteredTask. Być może tutaj jest tak samo ?

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

    A tak poza tym, przecież istnieją różne CI, w których takie automaty masz od ręki (i parę innych przydatnych rzeczy).

    http://www.cruisecontrolnet.org/projects/ccnet/wiki
    http://jenkins-ci.org/ (dawny hudson)
    http://fitnesse.org/ (to już nie CI)

    0
  • #3 02 Lis 2012 23:29
    szefxxx
    Poziom 20  

    Cześć:)

    Dziękuję za odpowiedź:) Najbardziej przemawia do mnie ten link z MSDN,ale nie wiem skąd wykopać tą dllkę. Tak, to jest wrapper. Konkretniej Microsoft.Win32.TaskScheduler. Znalazłem jedynie przykłady w C.Ale jakoś ciężko mi je przetworzyć do C#:(

    EDIT:
    No, złapałem sam siebie...taskschd.dll jest w systemie. Ale nadal nie wiem jak zrobić potwierdzenie utworzenia zadania. Starczyło by odczytać nazwę zaplanowanego zadania i było by to dla mnie satysfakcjonujące.

    EDIT2:

    Nie wiem czy to zadziała bo póki co z nieznanych mi przyczyn mam wyłączone Zaplanowane Zadania w systemie.
    Poniżej kod:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #4 03 Lis 2012 11:57
    gaskoin
    Poziom 38  

    Root folder to jest folder w którym masz wrzucone zadania hormonogramu.

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa383460(v=vs.85).aspx Tu jest o tym info.

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa446865(v=vs.85).aspx tu masz przykład o który Ci chodzi. Po zarejestrowaniu zadania sprawdzany jest folder zadań, czy aby na pewno zadania w nim wylądowały. Przykład w basicu ale dasz rade :)

    0
  • #5 05 Lis 2012 18:50
    szefxxx
    Poziom 20  

    Dzięki:) Troszkę mnie to oświeciło i próbuję coś napisać ;). Ale mam pytanie bo okazuje się że mam w jakiś magiczny sposób wyłączony Harmonogram Zadań. Przy próbie włączenia pojawia mi się - nie można połączyć ze zdalnym komputerem.O co tutaj chodzi? Generalnie w przystawce services.msc mam ją wyłączoną, ale opcja włączenia jest "wygreyowana" czyli nie dostępna. Pytam się ponieważ nie mogę nawet testować tego co napisałem. Mój system to Windows 7 x64 Home Premium.

    EDIT: Okej, mam winowajcę;) Znaczy siebie samego i ...WinXP Anti Spy - gdzie była zablokowana usługa.

    EDIT2:

    Jak można ustawić by się automatycznie wstawiała ścieżka do aplikacji w treść zadania( lokalizacja) zamiast podawać ją z palca?

    EDIT3:

    Okej udało się:)

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0