現在オフラインです。再接続するためにインターネットの接続を待っています

Visual FoxPro をシェルで起動されたアプリケーションのプロセス優先度を変更する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:193846
概要
プロセスの優先度 Win32 カーネルによってその実行がスケジュール方法を決定します。 優先度の高いプロセスを優先度の低いプロセスよりも早く実行します。 ここでは、シェルで起動されたアプリケーションのプロセスの優先順位を変更する方法について説明します。
詳細
次の 4 つの優先順位クラスをサポートする Win32 します。
  • アイドル状態。
  • 標準
  • High
  • リアルタイム
アイドル状態のシステム監視アプリケーションまたはスクリーン セーバーの正しい優先順位がします。

通常の優先順位クラスがない特別なスケジューリング ニーズを持つプロセスを示す、既定です。

優先度の高いを正常に実行するための即時実行が必要なタイム クリティカルなタスクを実行するプロセスを示します。 優先度の高いクラスのプロセスのスレッドにはスレッドまたはアイドル状態の通常の優先順位クラスのプロセスのよりも優先します。 例は、Windows のタスク リスト、オペレーティング システムの負荷に関係なく、ユーザーが呼び出されるとすばやく応答する必要があります。 細心の注意、優先度の高いクラスを使用するため使用優先度の高いクラス CPU に拘束されるアプリケーションで利用可能なほぼすべてのサイクルは使用できます。

リアルタイムの優先順位を最高の可能な優先順位を持つプロセスを示します。 リアルタイムの優先順位クラス プロセスのスレッドには、重要なタスクを実行するオペレーティング システム プロセスを含むすべてのプロセスのスレッドよりも優先します。 たとえば、リアルタイム プロセスを実行間隔を非常に簡単な可能性がディスク キャッシュをフラッシュさせたりの応答を停止するマウスならないより多い。 この優先順位を使用しないでほとんど。

プロセスの優先度 CreateProcess API 呼び出しのパラメーターの 1 つを割り当てることによって設定されています。

次の例は、[Windows NT 4. 0 およびそれ以降の Windows オペレーティング システムが、アイドル状態の優先順位を使用して Windows NOTEPAD アプリケーションを実行します。 プロセスの優先順位は CreateProcess() に渡される 'dwCreationFlags' 変数によって制御されます。 DEFINEs、4 つのサポートされている優先順位クラスのサンプル プログラムの先頭に記載します。

1 回 Notepad.exe を実行中、優先順位を調べ、Windows タスク マネージャーを起動、[プロセス] タブをクリックして、メモ帳を右クリックし、ポップアップ メニューの ' 優先度の設定 '] をクリックします。

メモ帳を完全修飾パス名の 'File2Run' の変数の代入ステートメントで変更があります。

サンプル コード

   #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						
関連情報
高度な"Windows"、小倉 Richter、マイクロソフト プレス、ページ 92-103、第 3 版 1997、ISBN: 1-57231-548-2
kbVFp600 kbAPI

警告: この記事は自動翻訳されています

プロパティ

文書番号:193846 - 最終更新日: 01/27/2005 08:34:00 - リビジョン: 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

  • kbhowto kbmt KB193846 KbMtja
フィードバック