| 値 | 仮想環境 |
|---|---|
| 'Microsoft Hv' | Hyper-V |
| 'VMwareVMware' | VMware |
| 'KVMKVMKVMKVM' | KVM |
| 'VBoxVBoxVBox' | VirtuialBox |
| Hypervisor | $_Manufacturer | $_Model |
|---|---|---|
| Hyper-V | Microsoft Corporation | Virtual Machine |
| VMware | VMware, Inc. | VMware Virtual Platform 又は VMware 7,1など |
| VirtualBox | innotek GmbH | VirtualBox |
| 値 | 意味 | |
|---|---|---|
| 1 | default | 一般ユーザーで実行 |
| 2 | full | Administrator権限で実行 |
| 3 | limited | Administratorだが制限付きで実行 |
例) var $names[1],$paths[1],$owners[1],$domains[1],#bits[1]; GetProcessList($names,$paths,$owners,$domains,#bits);
| 数字 | 意味 |
|---|---|
| 0 | 画面全体の幅 |
| 1 | 画面全体の高さ |
| 4 | タイトルバーの高さ |
| 15 | メニューの高さ |
| 文字列1 | シャットダウンするコンピューターのネットワーク名を指定します。これを空文字列にするとローカルコンピューターが対象になります。 |
|---|---|
| 文字列2 | シャッドダウン時に表示されるダイアログに記述されるメッセージを指定します。表示しない場合は空文字列を指定してください。 |
| 数字1 | シャットダウン時に表示される大ログの表示時間を秒数で指定します。このパラメーターに0を指定するとシャットダウン時のダイアログは表示されません。 |
| 数字2 | このパラメーターに0以外を指定するとアプリケーションは強制的に終了させられます。 |
| 数字3 | このパラメータに0以外を指定するとシャットダウン後に再起動します。 |
| 数字1 | オペレーション |
|---|---|
| 1 | Logoff |
| 2 | Shutdown |
| 3 | Poweroff |
| 4 | Reboot |
| 5 | HybridShutdown(Windows 8以降のみ有効) |
| 数字2 | 強制実行の有無 |
|---|---|
| 0 | 強制実行しない |
| 1 | 強制的に終了します。 終了メッセージを送らずに終了しますので、場合によってはデータ損失の可能性があります。 |
| 2 | 終了メッセージに応答しないプロセスが合った場合、それらのプロセスを終了します。従来の手続きの「強制的に」チェックボックスはこちらの扱いになっています。 |
| #_RESULT | 意味 |
|---|---|
| -3 | Shutdown特権が無い |
| -2 | 数字2が有効な数字ではない |
| -1 | 数字1が有効な数字ではない |
| 1~ | GetSysErrMsg手続きで詳細が取得できます |
| 数字1 | サスペンド方法 |
|---|---|
| 0 | ハイバネート |
| 0以外 | サスペンド |
| 数字2 | 強制フラグ |
| 0 | 各アプリケーションへの問い合わせを行います。 |
| 0以外 | 強制的にsuspend状態になります。 |
| 数字3 | wakeup event |
| 0 | アクティブになります。 |
| 0以外 | アクティブにならないようにします。 |
// 実ハードウェア上で動作していれば真
#FUNC BOOL IsRunningOnHardware()
{
var #i,#j;
// 仮想環境では無いので真を返す
if (NOT IsHypervisorPresent()) {
return(TRUE);
};
// 仮想環境だった場合
if ($_HYPERVISORVENDOR=='Microsoft Hv') {
// vendorがMicrosoftだった時はさらに判定が必要
PosStr(#i,$_MANUFACTURER,'Microsoft Corporation');
PosStr(#j,$_MODEL,'Virtual Machine');
return((#i==0) OR (#j==0)); // HypervisorがHyper-Vではなければ真を返す
} else {
// vendorがMicrosoft以外だった時は常に仮想環境なので偽を返す
return(FALSE);
}
}
// 仮想環境で動作していれば真
#FUNC BOOL IsRunningOnVM()
{
var #i,#j;
// 仮想環境では無いので偽を返す
if (NOT IsHypervisorPresent()) {
return(FALSE);
};
// 仮想環境だった場合
if ($_HYPERVISORVENDOR!='Microsoft Hv') {
// VendorがMicrosoftじゃないので真を返す
return(TRUE);
} else {
// VenderがMicrosoftだった場合は更に判定
PosStr(#i,$_MANUFACTURER,'Microsoft Corporation');
PosStr(#j,$_MODEL,'Virtual Machine');
return((#i>0) and (#j>0)); // HypervisorがHyper-Vなら真を返す
};
}
// Hyper-V上で動作していれば真
#FUNC BOOL IsRunningOnHyperV()
{
var #i,#j;
if (IsHypervisorPresent() AND ($_HYPERVISORVENDOR=='Microsoft Hv')) {
PosStr(#i,$_MANUFACTURER,'Microsoft Corporation');
PosStr(#j,$_MODEL,'Virtual Machine');
return((#i>0) and (#j>0));
} else {
return(FALSE);
};
}