Announcement

Collapse
No announcement yet.

Warten auf eine bestimmte Uhrzeit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Warten auf eine bestimmte Uhrzeit

    Moin moin,

    kennt jemand eine Möglichkeit, ein Programm bis zu einer bestimmte Uhrzeit schlafen zu legen, ohne ständig pollen zu müssen ??

  • #2
    Was heisst pollen? Ohne einen Vergleich - wie auch immer - wird es wohl nicht gehen. TTimer mit einem Intervall von 1 Min sollte es tun

    Und was heisst schlafen legen??
    Christian

    Comment


    • #3
      Mit schlafen legen meine ich, das das Programm keinerlei CPU-Zeit verbraucht.

      Comment


      • #4
        Du hast die Wahl ein normales Programm oder einen Service zu benutzen. Du kannst das Program selber benutzen um auf den Zeitpunkt zu warten oder von außen ein anderes Programm um deines zu starten.

        Jedes Programm benötigt dafür die gleichen Resourcen. Jedes Programm wird über die gleichen Mechanismen in die Windwos Botschaftverarbeitung eingebunden und geht, wenn keine Anliegen und sonst nix zu tun ist in den Idle-Mode.
        Christian

        Comment


        • #5
          Ich dachte halt, es gibt vielleicht einen Windowsdienst den ich als Wecker benutzen könnte.

          Comment


          • #6
            wie gesagt, der Taskplaner kann dein Programm starten, aber ist wurscht, ob der läuft oder dein Programm
            Christian

            Comment


            • #7
              Gibt es eine Möglichkeit auf die 'Geplanten Tasks' zuzugreifen und diese zu Manipulieren bzw. neue hinzuzufügen ???

              Comment


              • #8
                Ja, steht in der BCB Hilfe unter

                Platform SDK: Task Scheduler

                mit allen Beispielen wie:

                Code:
                #include <windows.h>
                #include <initguid.h>
                #include <ole2.h>
                #include <mstask.h>
                #include <msterr.h>
                #include <objidl.h>
                #include <wchar.h>
                #include <stdio.h>
                 
                int main(int argc, char **argv)
                {
                  HRESULT hr = S_OK;
                  ITaskScheduler *pITS;
                 
                 
                  /////////////////////////////////////////////////////////////////
                  // Call CoInitialize to initialize the COM library and then 
                  // CoCreateInstance to get the Task Scheduler object. 
                  /////////////////////////////////////////////////////////////////
                  hr = CoInitialize(NULL);
                  if (SUCCEEDED(hr))
                  {
                     hr = CoCreateInstance(CLSID_CTaskScheduler,
                                           NULL,
                                           CLSCTX_INPROC_SERVER,
                                           IID_ITaskScheduler,
                                           (void **) &pITS);
                     if (FAILED(hr))
                     {
                        CoUninitialize();
                        return 1;
                     }
                  }
                  else
                  {
                     return 1;
                  }
                 
                 
                  /////////////////////////////////////////////////////////////////
                  // Call ITaskScheduler::NewWorkItem to create new task.
                  /////////////////////////////////////////////////////////////////
                  LPCWSTR pwszTaskName;
                  ITask *pITask;
                  IPersistFile *pIPersistFile;
                  pwszTaskName = L"Test Task";
                 
                  hr = pITS->NewWorkItem(pwszTaskName,           // Name of task
                                         CLSID_CTask,            // Class identifier 
                                         IID_ITask,              // Interface identifier
                                         (IUnknown**)&pITask); // Address of task interface
                 
                 
                  pITS->Release();                               // Release object
                  if (FAILED(hr))
                  {
                     CoUninitialize();
                     fprintf(stderr, "Failed calling NewWorkItem, error = 0x%x\n",hr);
                     return 1;
                  }
                 
                 
                  /////////////////////////////////////////////////////////////////
                  // Call IUnknown::QueryInterface to get a pointer to 
                  // IPersistFile and IPersistFile::Save to save 
                  // the new task to disk.
                  /////////////////////////////////////////////////////////////////
                 
                  hr = pITask->QueryInterface(IID_IPersistFile,
                                              (void **)&pIPersistFile);
                 
                  pITask->Release();
                  if (FAILED(hr))
                  {
                     CoUninitialize();
                     fprintf(stderr, "Failed calling QueryInterface, error = 0x%x\n",hr);
                     return 1;
                  }
                 
                 
                  hr = pIPersistFile->Save(NULL,
                                           TRUE);
                  pIPersistFile->Release();
                  if (FAILED(hr))
                  {
                     CoUninitialize();
                     fprintf(stderr, "Failed calling Save, error = 0x%x\n",hr);
                     return 1;
                  }
                 
                 
                  printf("Created task.\n");
                  return 0;
                }
                oder auch http://www.sicomponents.com/taskscheduler.html
                Zuletzt editiert von Christian Marquardt; 06.04.2008, 10:56.
                Christian

                Comment


                • #9
                  Danke Christian, das ist es

                  Comment

                  Working...
                  X