システム ツール

グローバル構造体 systemTools は、3ds Max 4 で MAXScript に追加され、3ds Max 2008 および 3ds Max 2014 で拡張されました。·

この関数のグループを使用すると、3ds Max が実行されているシステムに関するさまざまな情報を収集できます。

   

systemTools.NumberOfProcessors()   

オペレーティング システムに従って、使用可能なプロセッサの数(コア)を返します。

   

systemTools.GetScreenWidth applyUIScaling:<true>

デスクトップを複数のモニタに拡張した場合を含めた画面の幅を返します。

applyUIScaling パラメータは、true に設定されている場合、HDPI ディスプレイに必要なすべてのスケールを適用します。

   

systemTools.GetScreenHeight applyUIScaling:<true>

デスクトップを複数のモニタに拡張した場合を含めた画面の高さを返します。

applyUIScaling パラメータは、true に設定されている場合、HDPI ディスプレイに必要なすべてのスケールを適用します。

   

systemTools.IsWindows98or2000() 

3ds Max 2017 で削除されました。

3ds Max 2017 より前のバージョンでは、オペレーティング システムが Windows98、Windows2000、Windows XP、Windows Vista、または Windows 7 の場合に True を返しました。

   

systemTools.IsWindows9x() 

3ds Max 2017 で削除されました。

3ds Max 2017 より前のバージョンでは、OS が Windows 9x 系の場合に True を返しました。

   

systemTools.IsDebugging() 

デバッガで実行されている場合は True を返します。

   

systemTools.getEnvVariable <string> 

指定された環境変数の内容を返します。指定された環境変数が存在しない場合は、undefined 値を返します。

3ds Max 2008 以降で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。

systemTools.getEnvVariable "PATH"
"C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files\backburner 2\;"

   

<bool>systemTools.setEnvVariable <string> { <string> | undefined } 

指定された環境変数の内容を設定します。

設定できた場合は True、できなかった場合は False を返します。

2 番目の引数の値が undefined である場合、環境変数は削除されます。

3ds Max 2008 以降で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。

   

<int>systemTools.getmaxstdio()

stdio レベルで(つまり fopen を通して)同時に開くことのできるファイルの数を返します。

3ds Max 2014 以降で使用可能です。

   

<int>systemTools.setmaxstdio <int newmax>

stdio レベルで(つまり fopen を通して)同時に開くことのできるファイルの最大数を設定します。

newmax 引数の有効な範囲は、512 ~ 2048です。

成功した場合は、新しい最大値を返します。

現在、値を大きくすることのみが許可されています。

最大数を低減しようとした場合は -1 を返します。

これは、たとえばより多くのポイント キャッシュ ファイルを並行して同時に読み込みたい場合などに使用することができます。

3ds Max 2014 以降で使用可能です。

   

<int>systemTools.getSystemMetrics <int>

3ds Max 2017 の 新機能 : win32 GetSystemMetrics()関数を呼び出して、指定した値を渡します。戻り値は GetSystemMetrics()からの戻り値です。パラメータ値については、Win32 ドキュメントで getSystemMetrics を参照してください。

-- get client window width
systemTools.getSystemMetrics 16
-->1920

   

<bool>systemTools.isAeroEnabled()

3ds Max 2017 の 新機能 : Windows Aero のテーマが有効な場合は True を返します。Windows 7 で Windows クラシック テーマを使用している場合は False を返します。

   

<array>systemTools.EnumDisplayDevices removeUIScaling:<true>

3ds Max 2017 の 新機能 : 配列からなる配列を返します。外部配列内の各要素は特定のディスプレイ デバイスに対応します。各ディスプレイ デバイスの配列には、デバイス ID、デバイス名、デバイスの文字列、デバイスの状態フラグ、およびデバイス キーが含まれています。デバイスがデスクトップにアタッチされている場合、その配列にはデバイスの左上の X および Y ピクセル座標、その幅と高さが含まれています。ピクセル座標の基数は 0 です。

ディスプレイ デバイスの詳細については、EnumDisplayDevices の MSDN ドキュメントを参照してください。

devices= systemTools.EnumDisplayDevices removeUIScaling:true
	 for d in devices do print d #nomap
	 #("\\.\DISPLAY1", "NVIDIA Quadro FX 4800", 5, "PCI\VEN_10DE&DEV_05FE&SUBSYS_059410DE&REV_A1", "\Registry\Machine\System\CurrentControlSet\Control\Video{8A328D59-1288-485D-821D-7DA906E41335}\0000", 0, 0, 1920, 1080)
	 #("\\.\DISPLAY2", "NVIDIA Quadro FX 4800", 1, "PCI\VEN_10DE&DEV_05FE&SUBSYS_059410DE&REV_A1", "\Registry\Machine\System\CurrentControlSet\Control\Video{8A328D59-1288-485D-821D-7DA906E41335}\0001", 1920, 0, 1920, 1080)
	 #("\\.\DISPLAYV1", "RDPDD Chained DD", 2097160, "", "\Registry\Machine\System\CurrentControlSet\Control\Video{DEB039CC-B704-4F53-B43E-9DD4432FA2E9}\0000")
	 #("\\.\DISPLAYV2", "RDP Encoder Mirror Driver", 2097160, "", "\Registry\Machine\System\CurrentControlSet\Control\Video{42cf9257-1d96-4c9d-87f3-0d8e74595f78}\0000")
	 #("\\.\DISPLAYV3", "RDP Reflector Display Driver", 2097160, "", "\Registry\Machine\System\CurrentControlSet\Control\Video{b043b95c-5670-4f10-b934-8ed0c8eb59a8}\0000")
	 OK
<bool>systemTools.PB2_AllNoRefSafePointersTestingDisable <bool>disable

3ds Max 2017 の 新機能 : 内部使用専用。

   

<bool>systemTools.PB2_AllNoRefSafePointersTestingDisables()

3ds Max 2017 の 新機能 : 内部使用専用。

   

<bool>systemTools.allocateMemory()

3ds Max 2017 の 新機能 : 内部使用専用。

   

関連事項