Windows 7 PCでMiniframeのプログラム「SoftXPand 2011 Duo」を使用しています。 1台のコンピューターから2台のワークステーションを作成します。 Windowsに組み込まれているターミナルサービスを使用して、追加のセッションを作成します。私は2つの画面、2つのキーボード、および2つのマウスを使用して、2つのコンピューターのこの「幻想」を作成します。それは非常にうまく機能し、この1台のマシンに接続された2つの画面で2つの異なる3Dゲームをプレイすることもできます(Radeon HD5770と8GバイトRAMのCore i5 2500kを使用)。
これにはいくつかの欠点があります。見た目で隠れているものを発見しました。現在のセッション(最初のワークステーション上でも)は、ターミナルサーバーセッションとして識別されます。現在、一部のプログラムは限られた効果(グラフィック)で実行され、一部はまったく実行されません。
これにより、一部のゲームがまったく動作しなくなりました。 「ターミナルサーバーセッションでは実行できません」と言って終了します。私はすでに、最新のトップゲーム(DirectX 10、11)がSoftXPandなしの同じマシン上で同じように動作することを証明しているため、これはかなり人為的な制限です!
では、どうやら現在のセッションをハッキングして、ターミナルサーバーセッションのように見えないようにできますか? I. E.
#include <windows.h>
#pragma comment(lib, "user32.lib")
BOOL IsRemoteSession(void)
{
return GetSystemMetrics( SM_REMOTESESSION );
}
FALSEを返しますか? (プログラミングの質問ではありません。プログラムがターミナルサーバーセッションにあるかどうかを検出する例にすぎません!)
アプリケーションがターミナルサーバーセッションで実行されているかどうかを確認するには、いくつかの方法があります。以下のように、ハッキングする可能性のあるもののいくつか:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\TSAppCompat
。SET SESSIONNAME=Console
(デスクトップの値)またはSET SESSIONNAME=
(空)。SET SESSIONNAME
を入力します。これはSoftXpand Duoの開発者であるMiniframeです。ターミナルサーバーセッションでSoftXpand Duoを実行してエラーを解決する方法に関する推奨事項については、ナレッジベースを参照することをお勧めします。
Microsoftリモートデスクトップを使用していて、@ harrymcによって投稿された最初の2つの方法を試しましたが、私の場合は機能しません。 3番目は複雑すぎるので、試してみませんでした。
最終的に、Parallel Accessを使用すると、エラーを表示していたプログラムを使用できることがわかりました。 RDPほどスムーズではないので、本当にプログラムを使用する必要がある場合は、RDPを使用します。
SoftXPandの質問には直接対応していませんが、Google検索が原因でここにたどり着き、@ harrymcの回答に沿っています。
60秒の遅延があるバッチファイルを作成し、実行するアプリを起動しました。バッチファイルを開始し、RDP接続からログアウトし、約5分待ってから、RDPに再接続しました。私が欲しかった厄介なアプリは、戻ったときに私を待っていました。バッチファイルの内容は次のとおりです。
timeout 60
start /D "your path here" yourExecutable.exe
パスにスペースがある場合は、パスを囲む引用符が必要です。
ここからバッチ情報のものを手に入れました: https://stackoverflow.com/questions/8324352/creating-a-batch-file-for-programs-to-start-using-a-delay
この男の小道具: https://stackoverflow.com/users/959263/raihan
(詳細を提供し、私の研究を共有すると言われています)
解決策を見つけました:「runas」で必要なプログラムを実行します
デスクトップ経由でログインした後、それをcmdに入力します。
runas/user:YOUR_NAME "YOUR_PROGRAM_PATH"
私はBentlyのソフトウェアに対してそれをテストしました、そしてそれらはうまく働きます。