質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

Q&A

解決済

1回答

829閲覧

【C# .NET Framework】システムから「コントロールパネル」「ネットワーク接続」を特定あるいは停止する方法について

sujico.net

総合スコア453

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

0グッド

0クリップ

投稿2019/06/24 03:35

困っていること

Windowsフォームアプリケーションにて、ネットワーク情報を切り替えるアプリケーションを作成しています。
しかし、Windows側でアダプターの設定に関するプロセスを掴んでいるときにアプリケーションを実行すると、処理が失敗してアダプターにIPアドレス設定などを行えないようになってしまいます。
(対応としては、Windowsを再起動するしかなくなってしまいます)

この動作はリスクがあると感じたため、アプリケーション側で以下のいずれかを実装したいと考えています。

  • リスト アプリケーションにて、コントロールパネル あるいは ネットワーク接続 が開かれていることを検知し、検知したら操作できないようにする
  • アプリケーション起動を行った際に、ネットワーク接続を停止する

しかし、コントロールパネルの動作は単純にプロセス番号から特定することができず、どのように上記を実装すればよいか困っています。
(起動は簡単なのに、停止の方法が見つからなく悩んでいる状態です)

行いたいこと

C#のアプリケーションから、コントロールパネル あるいは ネットワーク接続 のプロセスがあるかどうかを確認したいです。
処理の対象OSは、Windows7 と Windows10 となります。
.NET Frameworkバージョンは4.0です。

大変恐れ入りますが、実現可能な方法があればご教示頂けますと幸いです。
何卒、宜しくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hihijiji

2019/06/24 03:54

なされようとしている手段はとてもややこしいので、別の手段を検討することをお勧めします。 手段ではなく、目的を書いていただければ何かアドバイスできるかもしれません。
sujico.net

2019/06/24 04:40

ありがとうございます。やはり単純に実装、とはいかないのですね。 目的と致しましては、ユーザ任意のタイミングでネットワークアダプタのプロパティを開いてネットワーク情報(具体的には、ネットワークアドレス)を変更することが何度も発生し、設定ミスが多発してしまいます。 その為、ボタンクリック1つで(予め最初から定められたネットワーク設定に)設定を変更するアプリケーションを作りたいと考えたのが経緯でした。 その為、以下が今回の質問の最も大きな目的です。 ・何度も発生するネットワーク変更作業のオペミスを減らしたい
hihijiji

2019/06/24 04:48

USB LAN変換アダプターや増設NICが千円ぐらいからありますから普通はそれを追加しますね。 ソフトを作ろうとして1日悩んだらその人件費で10台は買えます。
guest

回答1

0

ベストアンサー

Win32APIを使う必要があるような。もしくはnetshコマンドを叩くとか。何れにせよ管理者権限も必要になりそうですが。

投稿2019/06/24 04:55

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sujico.net

2019/06/24 10:12 編集

ご回答頂きありがとうございます。 NetworkAdapterクラスを使用して自分で実装しようとしていましたが、アドバイスを参考にさせて頂きやめました。 アプリケーションからではなく、netshを管理者権限実行してあげればWindowsのプロセスとごっつんすることなく動作しましたので差しあたってはこの実装でいこうと思います。 ありがとうございました。 ベストアンサーとさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問