C#でのディレクトリ指定時のユーザーネーム
- C#でプログラミングをする際に、ディレクトリを指定する際のユーザーネームについて解説します。
- ボタンをクリックしてChromeを起動させたい場合、指定するディレクトリにはユーザーネームが含まれているため、プログラムで指定するのが困難です。
- 具体的なソースコードの例を示し、ディレクトリ指定時のユーザーネームの取り扱いについて詳しく説明します。
- ベストアンサー
C#でのディレクトリ指定時のユーザーネーム
C#でのディレクトリ指定時のユーザーネーム C♯でプログラミングをしています ボタンをクリックして時にChromeを起動させたいのですが、Chrome.exeのある場所はユーザーネームも含まれる場所にあるので、私の技術では指定できません ちなみにソースは以下の通りです private void button3_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start(@"C:\Documents and Settings\○○○\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"); } よろしくお願いします
- pokemontoka
- お礼率61% (34/55)
- その他(プログラミング・開発)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1 です。 >もしよろしければ、サンプルをいただけないでしょうか? リンク先はご覧になりましたか? 下の方に、思いきりC#のサンプルが書いてあるんですが… (^^; 以下、改行は適宜補正してください。 string localAppDir = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); で、localAppDir に "C:\Documents and Settings\○○○\Local Settings\Application Data"までの文字列が格納されます。 よもや、この先がわからない、と言う事はないですよね。
その他の回答 (1)
- utakataXEX
- ベストアンサー率69% (711/1018)
"C:\Documents and Settings\○○○\Local Settings\Application Data"までのパスは、EnvironmentクラスのGetFolderPathメソッドで取得可能です。 Environment.SpecialFolderのLocalApplicationDataメンバに格納されます。 参考URL 特殊ディレクトリのパスを取得する
補足
ご回答ありがとうございます もしよろしければ、サンプルをいただけないでしょうか? よろしくお願いします
関連するQ&A
- C♯での特殊ディレクトリ取得について
C♯での特殊ディレクトリ取得について ※僕はプログラミング初心者です それを踏まえてお読みください ボタンをクリックした時にChromeを起動させたいので、 System.Diagnostics.Process.Start(@"ファイルアドレス"); を使ってやることにしました しかしGoogleChromeのある場所は、 C:\Documents and Settings\ユーザーネーム\Local Settings\Application Data\Google\Chrome\Application\chrome.exe とユーザーネームが入っていて指定できません そこで、特殊ディレクトリ取得について調べてみたのですが、僕の関数の知識がないため、できませんでした サンプルを記述していただけるととても助かります 参考URL ttp://jeanne.wankuma.com/tips/csharp/path/systemdirectory.html
- ベストアンサー
- C・C++・C#
- C#での書き方
vb.netでは別のイベントを呼び出すとき下記のような書き方ができたのですが、C#ではどう書くんでしょうか? (ボタン2を押したらボタン1の処理が走る) Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MessageBox.Show("AAA") End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Button1_Click(sender, e) End Sub
- ベストアンサー
- C・C++・C#
- C#でオブジェクトの有無を取得する
オブジェクトが作られている時と作られていない時で処理をわけたいのですがうまくいきません。 この書き方の何がまずいのでしょうか? namespace オブジェクト検索 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Control c = Controls["form2"]; if (c != null) { ((TextBox)c).Text += "*"; } } private void button2_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); Application.DoEvents(); } } } ボタン2を押した時に新しいフォームが立ち上がり、そのフォームがあるときは*が出るようにしたいです。
- ベストアンサー
- C・C++・C#
- C#でMediaPlayerを立ち上げた後
お世話になります。 C#(.Net 4.0)で、MediaPlayerをコントロールでフォーム等に 張り付けるのではなく、System.Diagnostics内の Process.Start("wmplayer.exe","再生ファイル")で 外部プログラムとしてmp3や動画を開いたときに、 再生が終了(最後まで再生し終わったら)したら、 自動でMediaPlayerを終了させたいのですが、 その方法はありますでしょうか。 現在のコードはこうなっています(usingは省略)。 private void button1_Click(object sender, EventArgs e) { Process p = Process.Start("wmplayer.exe", @"C:\Users\hoge\Documents\abcde.mp4"); p.WaitForExit(); } 特に何の変哲もない、外部プログラムの起動ですが、 自動で閉じてもらわないと、下のWaitForExitに処理が回りません。 対策をお願いいたします。
- 締切済み
- C・C++・C#
- VC#2008の動作について
VC#2008について、下記の場合、button1をクリックし、 その次に、button2をクリックしても全く反応しません。 どのように改良すれば反応しますか? 処理が重く止まったと感じた時、メッセージを表示した後、 アプリケーションを終了したいと思っています。 どなたかご存知の方、教えていただけないでしょうか? 宜しくお願い致します。 namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1(){ InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(10000000); } private void button2_Click(object sender, EventArgs e) { MessageBox.Show("close"); System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("myapp"); foreach (System.Diagnostics.Process k in p) { k.Kill(); } } } }
- ベストアンサー
- C・C++・C#
- C++でメッセージボックスを表示したい
C++でメッセージボックスを表示したい フォーム上にbutton1を設置しました。 クリックして、メッセージボックスを表示したいのですがどうすればいいのかわかりません。 vb.netで言う Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("test") End Sub をC++で書くとどうなるんですか? button1をダブルクリックして private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { } }; を表示させたのですが、どこにMessageBoxを入れればいいのか教えてください。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- C#プログラムにて
C#プログラムにて お世話になります。 C#初心者です。 プログラムコードを書き始めで、早速行き 詰っています。 ステップでコードの動きを確認したところ、 program.csのMainから下記のForm1.csに 移りForm1のデザイナが表示されるのですが、 button3を押してもForm3が表れません。 また、ステップの黄色いカーソルと言いますか ステップの位置情報も消えています。 何がどう悪いのか分からなく困っています。 どなたかご親切な方、ご教授頂きたく 宜しくお願い致します。 記 using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { Form3 cForm3 = new Form3(); cForm3.ShowDialog(); } private void button2_Click(object sender, EventArgs e) { DialogResult ans; ans = MessageBox.Show("最新のコード表を照会しますか?", "Microsoft Visual Studio", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (ans == DialogResult.OK) Application.Exit(); } private void button12_Click(object sender, EventArgs e) { Form4 cForm4 = new Form4(); cForm4.ShowDialog(); } } }
- ベストアンサー
- C・C++・C#
- Sleep(0)について
VS2010C++でWindowsフォームアプリケーションをつくろうとしています。 ループさせたいイベント(button1)中に、button2のイベントを行いたいのでSleep(0)を使って以下のようにしました。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { while(1){ Sleep(0); // ループさせたいイベント ・・・・・・・・・・・・・・・・・・・・ } } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { ・・・・・・・・・・・・・・・・・・・・ } アプリケーション起動後button1をクリックすると、Sleep(0)が無いときと同じようにボタンを受け付けなくなります。 Sleep(0)の使い方が間違っているのでしょうか。
- ベストアンサー
- C・C++・C#
- メモ帳を開いて最大化するには?
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles cmd_ボタン.Click System.Diagnostics.Process.Start("notepad.exe") End Sub これでメモ帳を開くことはできたのですが、最大化するにはどうすればいいでしょうか? System.Diagnostics.Process.Start("notepad.exe") ,vbMaximizedFocus にすると エラーステートメントの終わりを指定してください。 になってしまいます。
- ベストアンサー
- Visual Basic
- C# フォーム追加後、旧フォームを閉じたい
前略 ・C#で教えてください。 ・Form1 からshowDiag()メソッドでForm2をつくります。Form2が表示されたら非アクティブとなったForm1を閉じたいのですが どのようにしたらよいのかおしえてください。 下記は、Close() メソッドで Form2側から閉じようとしたプログラムですがFrom1を閉じることができません。 よろしくお願いします。 //----------------------------------------------- namespace formClose { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.ShowDialog(); } } public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { Form1 form1 = new Form1(); form1.Close(); //Form1が閉じない!! } private void button1_Click(object sender, EventArgs e) { this.Close(); //Form2を閉じる } } } 以上
- ベストアンサー
- C・C++・C#
お礼
参考URLをご記入くださっていたのですね 自分、おっちょこちょいなところがあって見忘れてました すいませんm(__)m 無事に完成しました!!! ありがとうございました