8

私はこれを解決することはできません!

FileInfo("Y:/test.txt") を実行するだけの VS2010 Windows アプリケーションを作成し、FileInfo のデバッグ時に正常に動作します。

VS2013 経由でまったく同じことを行うと、ファイルが見つからないと報告されます。

したがって、ある種の信頼または偽装の問題がありますが、これは Windows アプリケーションであり、管理者として VS2013 を実行しています。

それは私を夢中にさせています-誰か何かアイデアを持っていますか?

ありがとうポール

4

1 に答える 1

9

Windows で UAC が有効になっており、管理者グループのメンバーである場合、実際には 2 つのログオン セッションが発生します。1 つは通常のユーザーとして、もう 1 つは管理者としてです。マップされたドライブは通常のユーザー ログオン セッションにのみ関連付けられるため、管理者としてプログラムを実行すると、マップされたドライブは表示されません。

このリンクは、レジストリの変更を伴う詳細と回避策 (私自身は試していません!) を提供します。

この問題を回避するには、EnableLinkedConnections レジストリ値を構成します。この値により、Windows Vista と Windows 7 は、フィルター処理されたアクセス トークンと Administrators グループのメンバーの完全な管理者アクセス トークンの間でネットワーク接続を共有できます。このレジストリ値を構成した後、LSA は、ネットワーク リソースがアクセス トークンにマップされている場合、現在のユーザー セッションに関連付けられている別のアクセス トークンがあるかどうかを確認します。LSA は、リンクされたアクセス トークンがあると判断した場合、リンクされた場所にネットワーク共有を追加します。EnableLinkedConnections レジストリ値を構成するには

  1. [スタート] をクリックし、[プログラムとファイルの開始] ボックスに「regedit」と入力して、Enter キーを押します。

  2. レジストリ サブキー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System を見つけて右クリックします。

  3. [新規] をポイントし、[DWORD 値] をクリックします。

  4. EnableLinkedConnections と入力し、Enter キーを押します。

  5. [EnableLinkedConnections] を右クリックし、[変更] をクリックします。

  6. [値のデータ] ボックスに「1」と入力し、[OK] をクリックします。

  7. レジストリ エディターを終了し、コンピューターを再起動します。

于 2014-02-19T19:28:13.743 に答える