- - PR -
プリンタとFAXフォルダを開く
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-04 19:37
プリンタとFAXフォルダというフォルダーがコントロールパネル以下に
在ると思うのですが、これを開く方法はどうすれば良いのでしょうか? Environment.SpecialFolder 列挙体 のメンバーも調べて 見たのですが、プリンタとFAXフォルダはもちろん、 コントロールパネルのエントリーも見当たりません。 何か情報等お持ちの方がいらっしゃったら、 教えてください。 言語:C# 環境:.Net Framework2.0 | ||||||||||||
|
投稿日時: 2008-09-04 20:49
こんにちは。
コンパネの本体は、フォルダではなく「c:\WINDOWS\system32」にある 「control.exe」と、拡張子「cpl」のファイルです。 (cplはすべてsystem32というわけではないらしいですが) プリンタとFAXフォルダなら以下のコマンドで開けますよ。 c:\WINDOWS\system32\control.exe printers # Windows2000以降のOS。MEは不明。 #「c:\WINDOWS」フォルダ名は適当に読み変えてください。 | ||||||||||||
|
投稿日時: 2008-09-04 21:13
w033さん語返信有難うございます。
foreach (Environment.SpecialFolder sp in Enum.GetValues(typeof(Environment.SpecialFolder))) { if (sp.ToString() == "System") { string sys32Path = Environment.GetFolderPath(sp); string program = sys32Path + @"\\\\control.exe"; Process extProcess = new Process(); extProcess.StartInfo.FileName = program; extProcess.StartInfo.Arguments = "printers" extProcess.Start(); //プロセス開始 break; } } とりあえず、こんな感じで対処しましたが、 もっと洗練された実装方法は無いのでしょうかね? | ||||||||||||
|
投稿日時: 2008-09-05 03:53
どのあたりが気になるのかを書いてくださらないと良くわからないです。
何だか回りくどいことをしていますね。 文字列 System 決めうちにするくらいなら意味がないように思えます。
System.IO.Path.Combine メソッドを使用します。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2008-09-05 06:59
プリンタとFAXのウィンドウが開くだけなら、次のコマンドを実行することでもできそうですね。
explorer ::{2227A280-3AEA-1069-A2DE-08002B30309D} | ||||||||||||
|
投稿日時: 2008-09-05 09:09
shell:PrintersFolder
これも使えるのかな? | ||||||||||||
|
投稿日時: 2008-09-05 12:52
こんにちは。
COMの参照設定で 「Microsoft Shell Controls And Automation」を追加しておいて こんな感じはどうですか?
[ メッセージ編集済み 編集者: Tdnr_Sym 編集日時 2008-09-05 12:57 ] | ||||||||||||
|
投稿日時: 2008-09-06 02:05
じゃんぬねっとさん。
>どのあたりが気になるのかを書いてくださらないと良くわからないです。 foreach (Environment.SpecialFolder sp in Enum.GetValues(typeof(Environment.SpecialFolder))) { if (sp.ToString() == "System") 正にここですね。Environment.SpecialFolder から "System" を直接 とる方法は同記述すれば良いのでしょうか? Tdnr_Symさん。 「Microsoft Shell Controls And Automation」 まさにこれがベストです。 皆さん。有難う御座います。 |