• ベストアンサー

VB2005でC:\ProgramFiles(X86)を取得方法したい

VB2005でC:\ProgramFiles(X86)を取得方法したい。 VisualBasic2005で開発をしております。 下記のコードですと通常「C:\ProgramFiles」が取得できます。 Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) Windows7 64bitで存在している「C:\ProgramFiles(X86)」フォルダを取得したいと思います。 どのようなコードで可能になるかお教えいただけませんでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

プロジェクトのプロパティあたりでターゲットをx86にしたらいいんじゃないでしょうか。 そうじゃないならこの辺りを参照してみてくだしあ http://stackoverflow.com/questions/194157/c-how-to-get-program-files-x86-on-vista-x64 http://blogs.msdn.com/tsmatsuz/archive/2009/04/16/64-bit-wow-32bit-system-file-registry.aspx

関連するQ&A

  • ProgramFiles を ドライブを含めて取得したい

    VB.NET で FolderBrowserDialog を使うときに SelectedPath に ProgramFiles を表示させたいのですが,E: とかのドライブを含めたフルパスで表示できません。どうすればいいでしょうか? 初期表示で ProgramFiles を選択にしたいということです。 ターゲットPCはどこのドライブに ProgramFiles があるか不明です。 FolderBrowserDialog1.SelectedPath = Environment.SpecialFolder.ProgramFiles としたのでは,まったくだめでした

  • C# 特殊ディレクトリを変更したいのだが

    お世話になります。 C#(.net)で、スタートメニューから開ける『ミュージック』や 『ビデオ』といった、いわゆる特殊ディレクトリと呼ばれるものですが、 取得するのは、System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) (これはドキュメントですが)等でできますが、 特殊ディレクトリをコードで変更することは可能でしょうか。 方法がありましたら、教えてください。 よろしくお願いいたします。

  • System.Environment.~のコードは

    C# cドライブにあるお気に入りフォルダのパスを取得するコードを書こうとしたら、なんと便利な関数が用意されてるじゃないですか。 System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites)); この関数の中身(コード)を見ようとしたら、どこかで見ることが出来るのでしょうか?

  • ファイルコピーの事で質問です。

    質問ですが、 'フォルダセット Dim fbd As New FolderBrowserDialog fbd.Description = "フォルダを指定して下さい。" fbd.RootFolder = Environment.SpecialFolder.Desktop fbd.SelectedPath = Environment.SpecialFolder.Desktop 'コピー System.IO.File.Copy(fbd.SelectedPath & "\test.pak", System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) & "\test.pak") フォルダを選択した後、 そのフォルダ内の「test.pak」をコピーして、 プログラムファイルを取得して、取得した先の場所に保存したいのですが、 これをデバッグすると、怒られてしまいます。 "(C:\Program File\test.pak) の一部が見つかりませんでした" という怒られ内容です。 ドコモ間違ってないのに、この様なエラーが出てしまうのですが 何処が悪いのでしょうか?どの様な改善をすれば良いでしょうか?

  • C# StreamReader,StreamWriter による文字化

    C# StreamReader,StreamWriter による文字化け お世話になります。 文字化けで悩んでいます。 Visual Studio 2008 C# にて、テキストファイルからデータを読んで別のテキストファイルに そのまま書き出す(もちろん実際の運用では加工するわけですが)処理で文字化けが起こります。 そのテキストファイル自身を C# で作れば問題はないのですが、メモ帳を使って書き込んだファイルでは 文字化けが起こります。 対処方法があれば教えてください。 以下はその実験に使ったコードです。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { // これは正常に書き込みできました StreamWriter sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test.txt"); sw.WriteLine("これはてすとです。"); sw.WriteLine("This is test."); sw.Close(); // これも正常に読み込め、書き込みもできました StreamReader sr = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test.txt"); sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\newtest.txt"); while (!sr.EndOfStream) { sw.WriteLine(sr.ReadLine()); } sr.Close(); sw.Close(); // 次はあらかじめメモ帳で作ったファイルを読んで、別のファイルに書き出します // これが文字化けします sr = new StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test2.txt"); sw = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\newtest2.txt"); while (!sr.EndOfStream) { string dat = sr.ReadLine(); sw.WriteLine(dat); Console.WriteLine(dat); } sr.Close(); sw.Close(); } } }

  • C#であるフォルダを参照する

    C#でC:\Documents and Settings\ユーザー\配下を参照したいのですが、なにか専用変数などはありますでしょうか? お気に入りのパスはMessageBox.Show(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites));などで参照できると思うのですが・・・その上を参照するものはないですかね?

  • ウインドウズフォルダにまつわる事

    VB2008でWindowsXP上でINIファイルの読み書きを行うプログラムを作っています。 VB.NETで特殊フォルダを取得したいのですが、以下の場合、 C:\Windows\System32となるのですが、C:\Windowsのようにウインドウズフォルダを返す方法はありますか? ' System ディレクトリ MessageBox.Show(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)) あとiniファイルをパスなしで作成するとC:\Windowsに作られるのですが デフォルトでそうなっているのでしょうか? WritePrivateProfileString("キーワード", "項目", 値, "test.ini") exeのあるカレントにiniファイルを作成したい場合などパスを求める方法等も知りたいです。

  • データファイルはどこに保存するべきでしょうか?

    VB2005で開発を行っています。 開発したソフトを使っていく中で作成されるデータファイルは どこのフォルダに格納するべきなのでしょうか。 System.AppDomain.CurrentDomain.BaseDirectory & "Data" フォルダを作成し、その中に入れていたのですが、 再インストールをすると削除されていました。 SpecialFolder.ProgramFiles(プログラムフォルダ) SpecialFolder.CommonApplicationData(Application Dataフォルダ) などが適当なのでしょうか? よろしくお願いいたします。

  • VB6から#C or .NET VB どちらが易しい? OS or 言語

    マシンが64bit対応なので VisualBasic6から #Cか .NET VBに書き換えて64bitで動作するように検討しています。 VS2005 Proは購入済みで、OSはWindowsXP x64 proか Windows2003を検討しています。どちらがよいかわかっていないのですが、まず最初にプログラムをどちらにコンバートするか悩んでいます。 いっそC#の方が将来性があるのでしょうか? また、.NET VBの方が書き換えが簡単でしょうか? 以前、VB6のプロジェクトファイルを開こうとしたら なんか変換したような気かしましたが、フォームやメインが無かった?ようなへんてこなCが出来上がりました。 VBからの移行された方でどちらを選んだのか知りたいです。

  • C#)フォルダを参照したい

    こんにちわ。 フォルダを参照してその中身をリストBOXに表示したいのですが、サンプルを見つけて実行したのですがいまいち理解できなかったのでアドバイスくださると助かります。 private void button1_Click(object sender, System.EventArgs e) { string systemFolder = Environment.GetFolderPath    (Environment.SpecialFolder.System); DirectoryInfo di = new DirectoryInfo(systemFolder); foreach(FileInfo fi in di.GetFiles()) { listBox1.Items.Add(fi.Name); } } これでボタン1をクリックするとsystemフォルダの内容がリストに表示されるのですが、そもそもどこのsystemフォルダなのか分かりません・・・。 ↑のプログラムが分からず別の方法でまずフォルダ参照ダイアログの FolderBrowserDialog を使おうと思ったのですが、ツールBOXに無いのでまた困りました。 どなたか分かる方いたらご指摘お願いします。

専門家に質問してみよう