1

Visual Studio2010を使用してWindows7でアンマネージC++コンソールアプリケーションをコーディングしています。ローカルコンピューターまたはネットワークの場所にあるファイルが正常に機能するという問題が発生しましたが、マップされたドライブに何も表示されません。この問題は、次の2行のプログラムに簡単に当てはまります。

const WCHAR * libPath = _T( "L:\ MyFiles \ myfile.txt"); DWORD fa = GetFileAttributes(libPath);

faが0xFFFFFFFFとして返される場合、Lはマップされたドライブであり、L:\ MyFiles\myfile.txtは有効なテキストファイルです。

マップされたドライブにアクセスするにはどうすればよいですか?

4

2 に答える 2

1

1つの可能性は、アプリケーションが昇格モードで実行されていることです(つまり、Run as administrator選択された状態で)。この問題については、ここで詳しく説明します。

解決策はnet use、ドライブをマウントするか、これをレジストリにマージするために使用することです。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

上記の変更を行った後、再起動が必要であることに注意してください。

于 2018-11-06T16:34:55.013 に答える
0

これはVisualStudioの問題です。「デバッグなしで開始する」は、Windows 7のエクスプローラーから実行することと同じではありません。プログラムは、Windowsエクスプローラーから開始すると正常に動作します。これは、UACの権利が異なるためです。

于 2011-01-26T19:32:11.930 に答える