none
ターミナルサービスでのWindowsフォルダ取得方法 RRS feed

  • 質問

  • ターミナルサービスではユーザーごとにWindowsフォルダが作成されます。
    [C:\Users\ユーザー名\WINDOWS]←このように。

    C#でこのユーザーごとのWindowsフォルダパスを取得できません。

    Environment.GetEnvironmentVariableやAPIのGetWindowsDirectoryで
    取得してみましたが「C:\WINDOWS」が取得されてしまいます。

    VC++で「/TSAWARE:NO」を指定してビルドすれば、GetWindowsDirectoryで
    ユーザーごとのWindowsフォルダが取得できますが、C#には同じような機能が見当たりません。

    ターミナルサービスにログインしている環境で、
    ユーザーごとのWindowsディレクトリパスを取得するC#での方法を教えてください。

    2010年10月28日 10:08

回答

すべての返信

  • EDITBIN ツールを使うんでしょうかね。

     Change in TSAware Flag Behaviour in .NET Framework 3.5 SP1
     http://support.microsoft.com/kb/2229865
    • 回答としてマーク yokoyama 2010年10月28日 10:46
    • 回答としてマークされていない yokoyama 2010年10月28日 10:47
    • 回答としてマーク yokoyama 2010年10月28日 10:47
    2010年10月28日 10:27
  • EDITBIN ツールでExeファイルを指定して実行したら、GetWindowsDirectoryAPIの動作が変わり、ユーザーごとのWindowsフォルダが取得できるようになりました。

    プログラム方法を丸一日考えていたのですが、このような設定ツールがあるとは思いもしませんでした。

    ありがとうございました。

    • 回答としてマーク yokoyama 2010年10月28日 10:46
    • 回答としてマークされていない yokoyama 2010年10月28日 10:46
    2010年10月28日 10:46