DOBON.NETプログラミング道掲示板

■ 「新規作成」から投稿できます。
■ マルチポストされた投稿を見つけたときは、その投稿に返信することによりご報告ください。その際は匿名で投稿し、マルチポストされている場所を併記してください。
■ スパム対策のため、メールアドレスの先頭に"_"という文字が付加されています。
RSS 2.0 RSS 2.0 | RSS 0.91 | 携帯電話用 | 自分専用のアイコンを使用するには | 掲示板への要望 | 管理人に連絡 | お気楽掲示板
■ 24時間以内に作成されたスレッドは New で表示されます。
■ 24時間以内に更新されたスレッドは UpDate で表示されます。

記事リスト ( )内の数字はレス数
NomalWindowsMediaPlayerで次のURLを指定しても反映されない。(2) | Nomal"−"を縦書きにしたい(9) | Nomal.NET6.0 のWinFormにWPFのユーザーコントロールを配置したい(4) | NomalDataGridViewの列にコンボボックスを表示する(2) | Nomalデータグリッドビューの特定の列ヘッダの色(2) | NomalVB-Report10→11への移行(4) | Nomalデフォルトプリンタの用紙向き変更(0) | NomalASP.net デバッグ時の .js ファイルの変更が反映されない(1) | NomalpictureBoxとlabelの重ね合わせ(2) | NomalWindowsエクスプローラへのドロップ先フォルダの取得(4) | Nomal入力値を元に描画させたい(2) | NomalVBで開いたExcelでのイベントを取得するには(4) | NomalデザイナでSystemColorsのような色一覧から選択できるようにしたい(0) | NomalTaskの入れ子の待ち方2(4) | NomalTaskの入れ子の待ち方(5) | NomalVisualStudio2019 以降の検索ダイアログが正常に動作しない(2) | NomalUsingの使い方が間違っている?(4) | Nomal//./の意味は?(2) | Nomalバイナリーファイルの結合と分解(2) | NomalVSTOとWebView2の共存って可能?(2) | Nomal表の最後の行の下にDropできない(1) | NomalCookieの勉強を始めました。(2) | NomalDataGridViewの特定セルにボタンを配置する方法(3) | NomalDataGridViewのセル結合部分にボタンを表示する方法(3) | Nomal複数のPageに分かれる場合のスクレ―ピング(6) | NomalTask.Runの使い方(4) | NomalPictureBox のサイズを設定する(2) | NomalProcessクラスMainModuleプロパティでアクセス拒否(3) | NomalLINQでControlsをEnable=Falseに設定(3) | Nomalランダムファイルを高速化させたい(5) | Nomalプロセス間の通信(相互)(2) | NomalC#をVBに変換する方法が分かりません(1) | NomalPictureBoxに動的に画像を表示する(1) | NomalYahooのHPで、検索文字の入力ができない(3) | NomalWebView2のEncodeの問題?(5) | NomalWinFormでChromeをSeleriumで操作しているが、Closeの仕方(2) | Nomal印刷部数の固定(1) | NomalWinformでのDataGridView Comboboxのデータ追加削除が出来ない(3) | Nomalプログラムについて。(2) | Nomal拡張子関連付けのサンプルで削除時 例外発生(1) | Nomalユーザーコントロールをフォームで使用した時のエラー(6) | NomalマルチページTIFFをSelectActiveFrameでページ指定するとエラーが発生する(12) | Nomal画像の大きさを取得するには(4) | Nomalファイルがドライブ内で占有する容量(3) | NomalC#FormのXボタンイベントで、e.Cancel が使えない(2) | NomalAxWindowsMediaPlayerでプレイリストの途中から再生するには(2) | NomalWebView2でJavaScriptの実行の終了イベント(4) | NomalDataTableのDataRowVersion毎のInt型値の比較がうまくいかない(5) | NomalGPTかMBRを判断したい(2) | Nomalアセンブリ言語について。(1) | Nomalマクロについて。(3) | NomalDLL内のスレッドからイベントを発行すると、受信したフォームでラベルが更新できない(3) | Nomalアセンブリ言語について。(20) | Nomalシステムコールについて。(2) | Nomal Parallel.Forで思ったより早くならない(5) | NomalAngleSharp.Scripting.JavaScriptの使い方(2) | NomalDataAdapterで2回目のUpDateが出来ない(6) | NomalForm1イベントの選択が出来なくなりました。(9) | Nomalデザーナー時の継承先formのサイズ(0) | Nomalコンソールではなくテキストボックスに文字列を出力したい(7) | NomalAngleSharpのクエリー文2(4) | Nomalコーディングについて。(3) | Nomaldll修正時、それを参照しているexeのリビルド要否(2) | NomalAngleSharpのクエリー文(2) | Nomalデフォルトプロパティを使いたい(6) | Nomalテキストボックスでの制御(7) | NomalUSBカメラをピクチャボックスに表示(3) | Nomal二次元配列内の文字の置き換え(3) | Nomalcolor型を引数にする方法(2) | NomalVSプロジェクト作成方法の違いによる、プラグイン機能を持つアプリケーションへの影響について(6) | NomalInputボタンが押せない(4) | NomalWebBrowserのDocumentCompletedイベントの切り替え(3) | NomalEndConnectでのエラー(2) | Nomalボタンクリック時のLeaveイベントについて(1) | Nomalエクセルのデータを配列に読込んだ時の配列要素番号について(2) | Nomalorder by で抽出したデータをDataTableに入れてForEachでDataRow取得した際の順番(2) | Nomal非同期プログラミング時のConsole.WriteLineの動作(4) | NomalC#からストアドにDecimalを渡すと値が丸められる(4) | Nomalインスタンスの型を文字列で指定したい(2) | NomalSendKeys.Sendが効いていない(2) | Nomal他のプロジェクトのコントロールがツールボックスに表示されない(3) | Nomal複数のテキストボックス間のTextChangedイベントが相互干渉しないようにしたい(9) | Nomal呼び出し元によってWebApi側の処理速度に差が出る(1) | NomalPanelのDock=Topだとうまくいかない。代替案。(2) | Nomal.NetでのIPv6の比較(5) | Nomal.Net 5.0 におけるDLL参照問題?(7) | Nomal追加コントロールのtabindex値を既存の間に設定する方法(1) | NomalVB.net非同期処理でtextboxに出力したい(2) | NomalToolStripStatusLabelの空白部分を埋めたい(2) | NomalOracle への OleDb 接続に失敗する(3) | Nomal正規表現で株価を取得したい(1) | NomalVB.NETで作成したDLLをVB6.0から呼び出す(3) | Nomalデザイナで編集・チェックアウトキャンセルすると(3) | Nomal親スレッドへ処理の移譲(7) | NomalクラスによるGetBytes関数のエンディアンの違い(2) | Nomal[VB.NET]Excelのプロセスが終了しない(2) | NomalC#をVBに変換した際の強制的な参照渡し(2) | Nomal.Net 5.0 におけるServiceControllerの代替クラス(3) | Nomal新たにshowしたフォームでのボタンのクリック(5) | NomalVB.NETからRDゲートウェイを利用したリモートデスクトップ接続(4) |



■記事リスト / ▼下のスレッド
■34910 / 親記事)  WinFormでChromeをSeleriumで操作しているが、Closeの仕方
□投稿者/ たんと 一般人(4回)-(2021/09/09(Thu) 18:38:46)
  • アイコン環境/言語:[.NET Framework 4.2.7] 
    分類:[.NET] 

    WinformのButton1を押すと、Chromeで特定サイトを開くようにしています。
    その後の動作はユーザー側にやってもらいたいため
    WinFormアプリ側では閉じる動作が出来ません。

    WinFormを閉じるときに、起動していたChromeDriver.exeを
    全て閉じる方法はありますでしょうか。


    private void LINK_Open(object sender, EventArgs e)
    {
    var driverService = ChromeDriverService.CreateDefaultService();
    var options = new ChromeOptions();
    driverService.HideCommandPromptWindow = true;//コマンドウィンドウ非表示
    var driver = new ChromeDriver(driverService, options);
    var LoginURL = "https://XXXXXXXXXXXXXXXXXXXXX/TEST.html";
    driver.Url = LoginURL;
    }


    1つのdriverを作成し、使いまわすのが効率良いと思うのですが
    どのようにしたら良いのか分かりません。

    public static driver; のように設定しておき、
    private void BeforeClose(){
    driver.Quit();
    driver.Close();
    }

    上記のコードをFormのCloseイベントにあわせれば出来るのでしょうか?

違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■34911 / ResNo.1)  Re[1]: WinFormでChromeをSeleriumで操作しているが、Closeの仕方
□投稿者/ たんと 一般人(1回)-(2021/09/09(Thu) 18:44:01)
  • アイコンpublic static driver; のように設定しておき、
    private void BeforeClose(){
    driver.Close();
    driver.Quit();
    }

    とすることで出来ました。すみません。
解決み!
違反を報告
引用返信
■34912 / ResNo.2)  Re[2]: WinFormでChromeをSeleriumで操作しているが、Closeの仕方
□投稿者/ たんと 一般人(5回)-(2021/09/09(Thu) 18:50:02)
  • アイコン2021/09/09(Thu) 19:00:59 編集(投稿者)


    自分の手で閉じてしまうと
    フリーズしてしまう事が分かりました。
    やっぱり駄目でした。
    driver.Close();のところにブレークポイントを置き
    どのような状況になっているのか確認しようと思いましたが
    フリーズでNG.
    どうやったらdriverの存在を確認できるのでしょう。

    driver.quit();
    driver= null;

    ググッたら上記の情報がありました。
    としたら出来ました。たぶん。確認中です。

違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34907 / 親記事)  印刷部数の固定
□投稿者/ だい 一般人(1回)-(2021/09/09(Thu) 10:16:45)
  • アイコン環境/言語:[VB.NET] 
    分類:[.NET] 

    PrintDialogクラスを使って印刷ダイアログを表示するとき、
    部数設定を無効にして印刷部数を1部に固定にすることは可能でしょうか?

    PrintDialog.PrinterSettings.Copies=1を指定しても、
    部数入力欄の初期設定が1になるだけで、変更は可能ですよね。

    何が何でも1部だけしか印刷させたくない場合のスマートな手段があれば
    ご教授ください。

    (PrintDialog以外の方法でも、
     出力プリンタさえ選べればページ指定等はできなくてかまいません。)

違反を報告
引用返信

▽[全レス1件(ResNo.1-1 表示)]
■34908 / ResNo.1)  Re[1]: 印刷部数の固定
□投稿者/ 魔界の仮面弁士 大御所(1398回)-(2021/09/09(Thu) 10:26:42)
  • アイコンNo34907に返信(だいさんの記事)
    >出力プリンタさえ選べればページ指定等はできなくてかまいません。

    PrintDialog で選ばせるのではなく、自前で用意した ComboBox などに
    InstalledPrinters で列挙したプリンターを入れておいて選ばせるとか。
    https://dobon.net/vb/dotnet/system/installedprinters.html
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-1]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34904 / 親記事)  WinformでのDataGridView Comboboxのデータ追加削除が出来ない
□投稿者/ たんと 一般人(1回)-(2021/09/08(Wed) 19:26:29)
  • アイコン環境/言語:[.NET Framework 4.7.2] 
    分類:[.NET] 

    コンボボックスを絞り込みできるようにしています。
    別のフォームで、コンボボックスの内容を修正できるようにしてあり
    修正した後はテキストデータに書き出しているのですが
    その場で更新というのが出来ません。
    UserFormを起動し直せば、問題なく動作します。
    Comboboxの再読み込み方法などはないでしょうか。
    DataGridViewを利用しているからか
    Combobox.Items.Clear()も使えないようです。
    よろしくお願いいたします。

    ComboDataList.txtの中身は
    AA,ああああああ
    AA,かき氷
    AB,いいいいいい
    CC,あいうえお
    DD,テストデータ
    E,田中
    F,FIUEN水戸
    GEGE,まるまる

    のような感じでバラバラになってます。


    DataTable ComboData = new DataTable();

    private void SCLoad()
    {
    this.ComboData.Columns.Add("データ列");
    this.ComboData.Columns.Add("表示列");
    this.ComboData.Columns.Add("管理用");

    using (StreamReader sr = File.OpenText("Data/ComboDataList.txt"))
    {
    //内容を一行ずつ読み込む
    while (sr.Peek() > -1)
    {
    var SCName = sr.ReadLine();
    string[] words = SCName.Split(',');
    this.ComboData.Rows.Add(words[1], words[1],words[0]);
    }
    DataView dv = this.ComboData.DefaultView;
    Combobox1.DataSource = dv;
    Combobox1.DisplayMember = "表示列";
    Combobox1.ValueMember = "データ列";
    Combobox1.Text = "";
    }
    }



    public static string TextData;
    private void KankatuChange(object sender, EventArgs e)
    {

    var KanriData = KanriC.Text;//KanriCという名前のテキストボックス

    //コンボボックスのデータの更新の為
    DataView dv = this.ComboData.DefaultView;
    var prevText = Combobox1.Text;
    var prevIndex = Combobox1.SelectionStart;

    if (KankatuC.SelectedIndex == 0)
    {
    dv.RowFilter = "";
    }
    else
    {
    dv.RowFilter = $"管理用 LIKE '*{KanriData}*'";
    }
    Combobox1.Text = "";
    }


    //-----------別のフォーム
    public static List<UserData> _userData;

    private void DataList_Load(object sender, EventArgs e)
    {

    using (StreamReader sr = File.OpenText("Data/ComboDataList.txt"))
    {
    _userData = new List<UserData>();
    //内容を一行ずつ読み込む
    while (sr.Peek() > -1)
    {
    var TEST = sr.ReadLine();
    string[] words = TEST.Split(',');
    _userData.Add(new UserData() { Data = words[0], View = words[1] });
    }
    userDataBindingSource.DataSource = _userData;
    };
    }
違反を報告
引用返信

▽[全レス3件(ResNo.1-3 表示)]
■34905 / ResNo.1)  Re[1]: WinformでのDataGridView Comboboxのデータ追加削除が出来ない
□投稿者/ 魔界の仮面弁士 大御所(1397回)-(2021/09/08(Wed) 22:02:56)
  • アイコンNo34904に返信(たんとさんの記事)
    > Combobox.Items.Clear()も使えないようです。

    .Items.Clear(); したいのであれば、.DataSource は用いずに、
     .Items.Add( 行データ );
    形式で割り当てるようにしてください。

    DataSource プロパティを使っている場合は、
    .Items[0] = newItem; や
    .Items.Clear(); や
    .Items.Add(data); は使えない仕様です。

    DataSource を使っている時は、Items 経由では読み取りしかできないので、編集するには
    DataSource に割り当てた時のデータソースインスタンス(今回は dv 変数)を操作することになります。


    なお割り当てているデータソースインスタンスによっては、
    データ刷新時に、その結果が直ちに ComboBox に反映されません。

    その場合は、変更通知機構をもつクラス経由で割り当てるようにするか
    同じインスタンスを使わず、新しいデータソースインスタンスを割り当てるようにするか、
    あるいは、DataSource を一旦別の値にしてから再セットすることで反映されます。

     object src = comboBox1.DataSource;
     comboBox1.DataSource = null; // 別のデータソースにしておいて
     comboBox1.DataSource = src; // 改めてセットしなおす



    > DataGridViewを利用しているからか
    > Combobox.Items.Clear()も使えないようです。

    DataGridView と ComboBox の関係性が分かりません。

    コード中にある Combobox1 というのは、
    System.Windows.Forms.ComboBox クラスのことですよね?

    あるいは、DataGridView の コンボボックス列 (DataGridViewComboBoxColumn クラス)のことを仰っていますか?
    もしくは列全体ではなく、セル単位のコンボボックス (DataGridViewComboBoxCell クラス) のことでしょうか?


    それと少しだけ気になっているのが、提示されたソース内のコントロール名。

    C# だと、初期コントロール名は、先頭だけ大文字の "Combobox1" ではなく、
    "comboBox1" になるはずなので、その点で微妙に違和感があるのですよね。
    もちろん、意図的に Combobox1 と名付けることはできますが、
    自分でつけた名前にしては、名前に意図が込められてなさ過ぎますし…。
違反を報告
引用返信
■34906 / ResNo.2)  Re[2]: WinformでのDataGridView Comboboxのデータ追加削除が出来ない
□投稿者/ たんと 一般人(2回)-(2021/09/09(Thu) 08:49:59)
  • アイコン魔界の仮面弁士様

    回答ありがとうございます。
    データソースは一旦外して再度適用すれば
    問題なさそうとのこと分かりました。
    データソースを一旦外し、テキストファイルを読み込み
    コンボボックスに値を適用すればいけそうな気がしています。試してみます。


    DataGridViewとComboboxの関係について説明します。
    Form1とForm2があり、
    Form1にはコンボボックスとテキストボックス
    Form2にはDataGridViewがあります。

    Form2のDataGridViewのDataSourceは、userDataBindingSource
    public static List<UserData> _userData; という
    Form1とも共有できたら良いと思い、念のためグローバル変数?でList化してます。

    やりたいこととしましては、
    Form1のコンボボックス選択肢をForm2のDataGridViewと
    同期させたいというところでした。

    私が理解していないからか、とても面倒な作業をしているのだと思います。
    もっといい手段がありそうですが、思いつかず
    昨日1日中探しましたがこれが限界でした…。
    とりあえず、Datasourceの参照しなおしとコンボボックス用の変数修正を検討します!
    良い方法があれば、アドバイスお願いします。
    たぶん面倒な事を何度も実施しているように思えるので…。すみません。

    Combobox1となっているのは、掲載用にまとめて置換したからでした。
    元々は別の名前でしたが、あまり見せたくない名称だったため変更しています。

    '-------------
    Form1

    コンボボックスの表示/参照値として、ComboDataList.txtの
    2列目(UserDataで言うところのTitle)の値を参照させる。

    また、フィルター用に管理用columnを用意し、
    1列目(UserDataで言うところのData)の値を参照させる。


    '-------------------------------------
    Form2

    コンボボックスの内容追加用としての画面がForm2
    「保存」ボタンがあり、ボタンをを押すと、
    ComboDataList.txtに上書き保存する。

    public static List<UserData> _userData; 

    private void DataList_Load(object sender, EventArgs e)
    {

    using (StreamReader sr = File.OpenText("Data/ComboDataList.txt"))
    {
    _userData = new List<UserData>();
    //内容を一行ずつ読み込む
    while (sr.Peek() > -1)
    {
    var TEST= sr.ReadLine();
    string[] words = TEST.Split(',');
    _userData.Add(new UserData() { Title = words[0], Data = words[1] });
    }

    userDataBindingSource.DataSource = _userData;
    };
    }

    '-------------------------------------
    UserData.cs

    public class UserData
    {

    public string Title { get; set; }
    public string Data { get; set; }

    }
違反を報告
引用返信
■34909 / ResNo.3)  Re[3]: WinformでのDataGridView Comboboxのデータ追加削除が出来ない
□投稿者/ たんと 一般人(3回)-(2021/09/09(Thu) 14:14:57)
  • アイコンいろいろと大変そうな感じがしたため、
    アプリ自体を落として再起動することにしました。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-3]



■記事リスト / ▼下のスレッド / ▲上のスレッド
■34901 / 親記事)  プログラムについて。
□投稿者/ コルム 一般人(19回)-(2021/09/05(Sun) 11:54:32)
  • アイコン環境/言語:[windows10 64bit ] 
    分類:[.NET] 

    これについては×××ページを参照…みたいなことを書こうとする場面(コード生成の場面)の所で、これのページを書く事をコード生成というのでしょうか? 教えていただけると幸いです。すみません。以下のURLです。
    https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14248465764
    yahoo知恵袋知恵袋からの引用です。
違反を報告
引用返信

▽[全レス2件(ResNo.1-2 表示)]
■34902 / ResNo.1)  Re[1]: プログラムについて。
□投稿者/ Azulean 大御所(529回)-(2021/09/05(Sun) 17:06:58)
  • アイコンNo34901に返信(コルムさんの記事)
    > これについては×××ページを参照…みたいなことを書こうとする場面(コード生成の場面)の所で、これのページを書く事をコード生成というのでしょうか?

    私の認識からすると「違う」という回答です。

    いわゆる「コード生成」は「人間が自分で書かず、ツール・コンパイラなどのソフトウェアにコードを書かせること」です。

    たとえば、C# コンパイラは人間が書いた C# コードを、MSIL という中間言語に変換します。このコンパイラの動きを「(中間)コードを生成する」と言い表すことがあります。


    > https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14248465764
    > yahoo知恵袋知恵袋からの引用です。

    このリンク先も上記のたとえと同じですね。
    C 言語であればオブジェクトコードの生成となりますが。
違反を報告
引用返信
■34903 / ResNo.2)  【注意】ルール違反の投稿です
□投稿者/ 管理人 一般人(4回)-(2021/09/06(Mon) 02:54:13)
  • アイコンNo34901に返信(コルムさんの記事)

    何度もルール違反の指摘をさせていただきましたが、相変わらずルールをお守りいただけず、とても残念です。

    No34844 でお知らせしたとおり、大変申し訳ありませんが、コルム様のIPアドレスをこの掲示板の書き込み禁止リストに登録させていただきます。

    お気楽掲示板にはご投稿いただけますので、今後はそちらへご投稿ください。

    よろしくお願いいたします。
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-2]



■記事リスト / ▲上のスレッド
■34899 / 親記事)  拡張子関連付けのサンプルで削除時 例外発生
□投稿者/ kurimu 一般人(1回)-(2021/08/31(Tue) 03:50:40)
  • アイコン環境/言語:[windous10 64bit vs2019 C# NET Framework4 Client Profile] 
    分類:[.NET] 

    初めての投稿です。どうぞよろしくお願いいたします。

    質問ですが、下記サイトで紹介されている拡張子関連付けの削除のサンプルを試してみたところ例外が発生します。(以前は問題無く動作していたサンプルなのですが)

    どうしたら良いのでしょうか?

    dobon.net
    関連付けを解除する
    https://dobon.net/vb/dotnet/system/associatedapp.html

    ソース抜粋
    //拡張子
    string extension = ".000";
    //ファイルタイプ名
    string fileType = Application.ProductName;

    //レジストリキーを削除
    Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(extension);
    Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(fileType);
       ↑
     この行で例外
    サブキーが存在しないため、サブキー ツリーを削除できません。
    とのメッセージが出ます。







違反を報告
引用返信

▽[全レス1件(ResNo.1-1 表示)]
■34900 / ResNo.1)  Re[1]: 拡張子関連付けのサンプルで削除時 例外発生
□投稿者/ KURIMU 一般人(1回)-(2021/09/02(Thu) 15:44:43)
  • アイコン自己解決しました。
    レジストリ書き込みをCurrentUserに変更しました。
    以下のように変更しました。

    private void レジストリ登録()
    {
    //関連付ける拡張子
    string extension = ".000";
    //実行するコマンドライン
    string commandline =
    "\"" + Application.ExecutablePath + "\" \"%1\"";
    //ファイルタイプ名
    string fileType = Application.ProductName + ".0";
    //説明(「ファイルの種類」として表示される)
    string description = "MyApplication File";
    //動詞
    string verb = "open";
    //動詞の説明(エクスプローラのコンテキストメニューに表示される。
    // 省略すると、「開く(&O)」となる。)
    string verbDescription = "MyApplicationで開く(&O)";
    //アイコンのパスとインデックス
    string iconPath = Application.ExecutablePath;
    int iconIndex = 0;

    Microsoft.Win32.RegistryKey rootkey =
    Microsoft.Win32.Registry.CurrentUser;

    //拡張子のキーを作成し、そのファイルタイプを登録
    Microsoft.Win32.RegistryKey regkey =
    rootkey.CreateSubKey("Software\\Classes\\" + extension);
    regkey.SetValue("", fileType);
    regkey.Close();

    //ファイルタイプのキーを作成し、その説明を登録
    Microsoft.Win32.RegistryKey typekey =
    rootkey.CreateSubKey("Software\\Classes\\" + fileType);
    typekey.SetValue("", description);
    typekey.Close();

    //動詞のキーを作成し、その説明を登録
    Microsoft.Win32.RegistryKey verblkey =
    rootkey.CreateSubKey("Software\\Classes\\" + fileType + "\\shell\\" + verb);
    verblkey.SetValue("", verbDescription);
    verblkey.Close();

    //コマンドのキーを作成し、実行するコマンドラインを登録
    Microsoft.Win32.RegistryKey cmdkey =
    rootkey.CreateSubKey("Software\\Classes\\" + fileType + "\\shell\\" + verb + "\\command");
    cmdkey.SetValue("", commandline);
    cmdkey.Close();

    //アイコンのキーを作成し、アイコンのパスと位置を登録
    Microsoft.Win32.RegistryKey iconkey =
    rootkey.CreateSubKey("Software\\Classes\\" + fileType + "\\DefaultIcon");
    iconkey.SetValue("", iconPath + "," + iconIndex.ToString());
    iconkey.Close();
    }

    private void レジストリ削除()
    {
    //////拡張子
    string extension = ".000";

    //ファイルタイプ名
    string fileType = Application.ProductName + ".0";

    Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(extension);
    Microsoft.Win32.RegistryKey regkey =
    Registry.CurrentUser.OpenSubKey(@"Software\Classes\", true);
    regkey.DeleteSubKeyTree(fileType);
    regkey.Close();

    }

    以上です。
    これで解決済とさせていただきます。
解決み!
違反を報告
引用返信

■記事リスト / レス記事表示 → [親記事-1]






Mode/  Pass/


- Child Tree -