Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Zum Ändern der Prozesspriorität einer ausführbaren Anwendung mit Visual FoxPro

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

193846
Zusammenfassung
Ein Prozess Priorität bestimmt, wie die Ausführung vom Kernel Win32 geplant wird. Prozesse mit höherer Priorität schneller als Prozesse mit einer niedrigeren Priorität ausgeführt. Dieser Artikel beschreibt die Priorität Verarbeiten einer ausführbaren Anwendung ändern.
Weitere Informationen
Win32 unterstützt die folgenden vier Prioritätsklassen:
  • Im Leerlauf
  • Normal
  • Hoch
  • Echtzeit
Im Leerlauf ist die richtige Priorität für die Systemüberwachung Anwendungen oder Bildschirmschoner.

Normale Priorität-Klasse ist die Standardeinstellung, die einen Prozess mit keine besondere Planung erforderlich angibt.

Hoher Priorität gibt an einen Prozess, der erfordern sofortige Ausführung für die richtig Ausführung zeitkritische Aufgaben ausführt. Die durch die Softwarelizenz bedingten die Threads eines Prozesses High-Prioritätsklasse haben Vorrang vor die Threads der Priorität normal oder im Leerlauf-Klasse Prozesse. Ein Beispiel ist der Windows-Aufgabenliste, die beim Aufruf durch den Benutzer, unabhängig von der Last auf dem Betriebssystem schnell reagieren müssen. Verwenden Sie äußerste Vorsicht beim verwenden die Klasse hoher Priorität, da eine hohe Priorität Klasse CPU-gebundene Anwendung fast alle verfügbare Zyklen verwenden kann.

Gibt die Realtime-Priorität einen Prozess an, die höchste mögliche Priorität hat. Die durch die Softwarelizenz bedingten die Threads eines Prozesses Klasse Realtime-Priorität haben Vorrang vor die Threads des alle anderen Prozesse, einschließlich Betriebssystemprozesse wichtige Aufgaben. Beispielsweise führt einen Echtzeit-Prozess, für mehr als ein äußerst kurzen Zeitraum Datenträgercaches nicht entleert werden oder führen die Maus nicht reagiert werden verursachen kann. Diese Priorität sollte fast nie verwendet werden.

Der Prozess Priorität ist durch Zuweisen einer der Parameter der CreateProcess-API-Aufruf festgelegt.

Das folgende Beispiel veranschaulicht Ausführen der Anwendung Windows Editor unter Windows NT 4.0 und spätere Windows-Betriebssysteme ein Leerlaufpriorität verwenden. Die Prozesspriorität wird durch die 'DwCreationFlags'-Variable an CreateProcess() übergeben gesteuert. DEFINEs für die vier unterstützten Prioritätsklassen werden am oberen Rand des Beispielprogramms aufgeführt.

Einmal wird Notepad.exe, ausgeführt, um untersuchen Sie die Priorität, starten Sie den Windows Task-Manager, wählen Sie die Prozesse Registerkarte, klicken Sie mit der rechten Maustaste auf Notepad.exe und wählen Sie aus dem Popupmenü Priorität festlegen.

Der vollqualifizierte Pfadnamen zu Notepad.exe müssen Änderungen in die Zuweisungsanweisung Variable 'File2Run'.

Beispielcode

   #DEFINE NORMAL_PRIORITY_CLASS 32   #DEFINE IDLE_PRIORITY_CLASS 64   #DEFINE HIGH_PRIORITY_CLASS 128   #DEFINE REALTIME_PRIORITY_CLASS 1600   DECLARE INTEGER CreateProcess IN kernel32.DLL ;      INTEGER lpApplicationName, ;      STRING lpCommandLine, ;      INTEGER lpProcessAttributes, ;      INTEGER lpThreadAttributes, ;      INTEGER bInheritHandles, ;      INTEGER dwCreationFlags, ;      INTEGER lpEnvironment, ;      INTEGER lpCurrentDirectory, ;      STRING @lpStartupInfo, ;      STRING @lpProcessInformation   DECLARE INTEGER GetLastError IN kernel32.DLL   * Startup info is 68 bytes, of which we need to   * initially populate the 'cb' or Count of Bytes member   * with the overall length of the structure.   * The remainder should be 0-filled.   START = long2str(68) + REPLICATE(CHR(0), 64)   * PROCESS_INFORMATION structure is 4 longs,   * or 4*4 bytes = 16 bytes, which we'll initially zero.   process_info = REPLICATE(CHR(0), 16)   * Start a copy of NOTEPAD (EXE name must be null-terminated)   File2Run = "C:\WINNT\NOTEPAD.EXE" + CHR(0)   * Call CreateProcess, obtain a process handle. Treat the   * application to run as the 'command line' argument, accept   * all other defaults. Important to pass the start and   * process_info by reference.   RetCode = CreateProcess(0, File2Run, 0, 0, 1, ;      IDLE_PRIORITY_CLASS, 0, 0, @START, @process_info)   * Unable to run, exit now.   IF RetCode = 0      =MESSAGEBOX("Error occurred. Error code: ", GetLastError())      RETURN   ENDIF   ********************   FUNCTION long2str   ********************   * passed : 32-bit non-negative numeric value (m.longval)   * returns : ascii character representation of passed   *    value in low-high format (m.retstr)   * example :   *   m.long = 999999   *   m.longstr = long2str(m.long)   PARAMETERS m.longval   PRIVATE i, m.retstr   m.retstr = ""   FOR i = 24 TO 0 STEP -8      m.retstr = CHR(INT(m.longval/(2^i))) + m.retstr      m.longval = MOD(m.longval, (2^i))   NEXT   RETURN m.retstr						
Informationsquellen
"Erweiterte Windows", Jeffrey Richter, Microsoft Press, Seiten 92-103, Third Edition 1997, ISBN: 1-57231-548-2
kbVFp600 kbAPI

Warnung: Dieser Artikel wurde automatisch übersetzt

Eigenschaften

Artikelnummer: 193846 – Letzte Überarbeitung: 01/27/2005 08:34:21 – Revision: 3.4

  • Microsoft Visual FoxPro 3.0b Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft Visual FoxPro 7.0 Professional Edition
  • Microsoft Visual FoxPro 8.0 Professional Edition
  • Microsoft Visual FoxPro 9.0 Professional Edition
  • kbmt kbhowto KB193846 KbMtde
Feedback
crosoft.com/fwlink/?LinkID=206977" class="ctl_footerNavLink" data-bi-name="Footer_TermsOfUse" data-bi-slot="1"> Nutzungsbedingungen
  • Datenschutz und Cookies
  • Markenzeichen
  • Kontakt
  • Impressum
  • Informationen zu unserer Werbung
  • © 2016 Microsoft