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

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

記事リスト ( )内の数字はレス数
NomalExcel Com オブジェクトの増殖(13) | NomalRichTextBoxのテキストをpictureBOXへ(12) | NomalPictureBoxの画像を連続保存(11) | Nomalリソースデザイナの開き方(10) | NomalGetObjectでExcelファイルを加工するとExcelファイルが壊れる(9) | NomalVB.NetでVB6.0と同じFontを指定しても同様に印刷されない(9) | Nomal作成した白黒画像をWordに貼り付けてから「図として保存」(8) | Nomal重なったPictureBox同士を透過する方法(7) | Nomalvb.netでExcelファイル操作(7) | NomalTreeViewの現在位置とDataGridViewの現在位置を合わせたい(7) | Nomalラジオボタンの一括設定(7) | NomalLabelで文字単位の背景色(7) | NomalTEXTBOXのプロパティを文字列に(7) | NomalDataAdapter.Updateで構文エラー(6) | Nomalキーボード+バーコードでキーボード入力を無効にしたい(6) | Nomaljumbo icon(256x256)が存在するか知る方法(6) | Nomal画像のスクロール(6) | Nomalタイマーの一括処理(6) | Nomal先頭に空白(スペース)があるファイルを読み込んでRichTextBoxへ書き出すとスペースが削除える(6) | NomalタッチキーボードでIMEを自動で切替えたい(6) | Nomalftp接続してファイルアップロード後、別フォルダにコピー(5) | Nomalシステムドライブ以外へのページング設定が反映されない(5) | Nomal全角シフト中にアクセスキーが効かない(5) | NomalVB.NETからcmdでpingを実行した時の結果(5) | NomalTabPageの背景色(5) | Nomalstyle.displayだと効率悪いから違うやり方をしたいです。(5) | Nomalグリッド表示レコードをJSONに変換(5) | NomalSeleniumで開いているページのTableを編集したい(5) | NomalMP4動画を再生する方法について(5) | NomalLableのカラー色を文字変数から変更したい(5) | NomalDataGridViewの特定セルにボタンを配置する方法(5) | NomalAppActiveが正常に機能しない。(4) | Nomalブラウザでコピーした透過PNGを貼り付けたい(4) | NomalWebView2によるスクレ―ピング(4) | NomalC#でJpeg圧縮のTiffファイルを作成したい(4) | NomalDataGridViewのVirtualModeを有効した場合の実装方法(4) | Nomalテーブルを順番通りに直すプログラムを外部で読み込めるようにしたいです。(4) | Nomalソケット通信入門 ひらがな(4) | Nomal時間変数(文字列)の扱い(4) | NomalTreeViewとDataGridViewのスクロールを同期(シンクロ)させたい(4) | Nomalフォームのリサイズ時にDataGridViewが再描画されない(4) | NomalPDFをフォーム上で表示させる方法につきまして(4) | NomalアプリでHDMIへ出す解像度を変えたい(4) | Nomal画像の中心を基点に回転(4) | NomalDataGridViewの行ヘッダーに行番号を表示した時のエラー(4) | Nomal抽象クラスで実装したクラスの情報を知る(3) | Nomal兆億万表記の文字列を数値に変換できる?(3) | NomalGetDirectoriesでルートを指定するとエラーになる(3) | NomalLinqにおける明示的型指定の方法(3) | Nomalデータベースからのテーブル名一覧の効率的な取得方法(3) | NomalC# Chart X軸上のグラフ表示(3) | NomalVB.NETでBluetoothデバイスの電池残量を取得する方法(3) | NomalWindowsフォームデザイナについて(3) | NomalDrawstringでの透過文字作成(3) | Nomalワンタイムパスワードのサイトに自動ログインしてアクセストークンを得る(3) | NomalJSONの複雑な入れ子内部の値を取りたい。(3) | Nomalシステム時計の設定(3) | NomalVisual Basicでエラーが出る(3) | Nomal継承元フォームで各フォームのボタン動作を検知したい(3) | Nomaltextboxでmultilineでの改行削除について(2) | NomalDataGridViewのイベント中にデータを更新するとエラーが発生(2) | Nomalフォントに登録されていない文字の検出(2) | NomalDataGridViewの複数行選択で歯抜け選択を無効にしたい(2) | Nomalforeachでループ回数を取得(2) | Nomalbitmapが保存できない(2) | Nomal特定ピクセルで画像を読み込みたい(2) | NomalDataGridViewでAlt+Enterで改行したい(2) | NomalProcessクラスからbatファイル実行後、KILLできない(2) | Nomal画面遷移(モーダルとモードレス)(2) | Nomal2つのradの数値から1つの角度を求めるコードを改善できますか?(C++)(2) | Nomalコンソールアプリで、WebView2の利用(2) | NomalEntity Frameworkは、使えるか?(2) | NomalC#のlong型でオーバーフローになる(2) | Nomal正規表現のパターン表記方法(2) | Nomalこういた物を作れますか?(2) | Nomalvb.netでのExcelファイルそうさ(2) | Nomalファイルとして配置したマニフェストを優先したい(2) | NomalVB2022でクリスタルレポートが開けない(2) | Nomalエクセルのみ監視ができない(2) | NomalExcelの数値 -> 日付みたいな関数?(2) | NomalSpinWait()を使う理由(2) | Nomalantecedentってなんですか?(2) | NomalRGB値の所得(2) | NomalVB.net からAccessDBへの接続(2) | NomalテキストボックスのValidatingイベントよりも先に発生するボタン発生イベントは何でしょう?(2) | NomalWindowsエクスプローラからのドラッグ&ドロップ(2) | Nomalクリックイベントでexeを作成できるか(2) | Nomalc#で日付型の定義の仕方で質問があります。(2) | Nomal列車の時間ごとの位置情報を表示したいです。(2) | NomalUrlにアクセスするとダウンロードされるファイルを捕まえる(2) | Nomaloledbでdatatableを取得するときにエラーになる(1) | Nomal証券会社へのログイン(1) | Nomalツールボックスにtableadapterが表示されない(1) | Nomalアセンブリ情報が載らない(1) | Nomal二次元マップから値の取得(1) | NomalDataGridViewのドロップダウンリストの表示と選択後の値を分けたい(1) | NomalVSTOによるエクセルアドインのインストーラーでのアップデート(1) | Nomalユーザーフォームに埋め込んだAutoCADの変化を捉える(0) | Nomalクリスタルレポート 明細部のサブレポート(0) | Nomalインストーラにて、ローミングフォルダにファイルを配置したい(0) |



■記事リスト / ▼下のスレッド
■35662 / 親記事)  ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ みーちょ 一般人(1回)-(2025/03/24(Mon) 03:36:34)
  • アイコン環境/言語:[Windows11 / vb.net2022] 
    分類:[.NET] 

    いつもお世話になっております。
    以下の処理を行いたいのですが、やり方が分からず躓いております。


    1 ftpサーバに接続してファイルをアップロード
      対象ディレクトリ ftp://test/aaa/ 
      ※ftp接続可能なフォルダ。実際のパスはc:\ftp\test\aaa

    2 ファイルアップロード後、直接ftp接続できないフォルダ
      D\bbb
      に移動し、システム日付(yyyymmdd)のフォルダを作成

    3 2のフォルダに、1でアップロードしたファイルをコピー


    1は、こちらのサイトの「FTPサーバーにファイルをアップロードする」でできましたが、2以降ができません。。。
    chコマンドみたいなのでフォルダ移動できないかと思ったのですが、ftpサーバ側でのchコマンド実行のやり方がわからず、躓いております。
    ftp接続できないフォルダ参照はできないのでしょうか?
    もしできるのなら、やり方を教えていただきたく、何卒よろしくお願いいたします。



違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■35663 / ResNo.1)  Re[1]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ KOZ 一般人(40回)-(2025/03/24(Mon) 05:00:56)
  • アイコンNo35662に返信(みーちょさんの記事)
    > ftp接続できないフォルダ参照はできないのでしょうか?

    できません。出来たら問題です。

    > もしできるのなら、やり方を教えていただきたく、何卒よろしくお願いいたします。

    サーバーのフォルダを共有するしかないと思いますよ。
違反を報告
引用返信
■35664 / ResNo.2)  Re[2]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ みーちょ 一般人(2回)-(2025/03/24(Mon) 06:13:11)
  • アイコン
    >>ftp接続できないフォルダ参照はできないのでしょうか?
    > できません。出来たら問題です。
    あう、やっぱだめですかぁ。
    私が知らないだけかもと、一縷の望みというか希望をもってたのですが。


    >>もしできるのなら、やり方を教えていただきたく、何卒よろしくお願いいたします。
    > サーバーのフォルダを共有するしかないと思いますよ。
    セキュリティの関係でNGくらったのです。
    もっかい上司と相談してみます。

    ちなみに、chじゃなくてcdコマンドでしたね。。。恥ずかし///
違反を報告
引用返信
■35665 / ResNo.3)  Re[3]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ kiku 一般人(1回)-(2025/03/24(Mon) 11:17:46)
  • アイコンNo35664に返信(みーちょさんの記事)
    >
    > >>ftp接続できないフォルダ参照はできないのでしょうか?
    >>できません。出来たら問題です。
    > あう、やっぱだめですかぁ。
    > 私が知らないだけかもと、一縷の望みというか希望をもってたのですが。

    FTPサーバ上に、常時起動しているサービスやアプリなどをおいて、
    そのアプリが、c:\ftp\test\aaaを監視して、
    追加された場合、D\bbbへコピーすることをすれば
    実現できそうです。
違反を報告
引用返信
■35666 / ResNo.4)  Re[3]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ 魔界の仮面弁士 大御所(1588回)-(2025/03/24(Mon) 11:38:42)
  • アイコンNo35664に返信(みーちょさんの記事)
    > セキュリティの関係でNGくらったのです。
    > もっかい上司と相談してみます。
    1) そもそも何故、時代遅れの FTP が選択されているのかを確認した方が良いでしょう
    2) どうしても FTP が必要なら、存在はしているが列挙されない不可視ディレクトリを使って
     公開フォルダーを見せないようにすることもできます(とはいえ、FTP が脆弱であることは変わりません)
    3) サーバーによっては QUOTE サブコマンドを通じて、非標準の独自コマンドで通信できるケースもあります


    > 1 ftpサーバに接続してファイルをアップロード
    FTP (RFC959) はセキュリティ的に脆弱なので、
    FTPS (RFC4217) あるいは
    SFTP (RFC4251) を採用した方が望ましいと思いますよ。

    FTP は、パスワードは暗号化されずに平文で通信されるため、
    盗聴や改竄に対して脆弱であり、現在では推奨されないプロトコルです。

    FTPS の場合、通信の暗号化のために、認証局で署名されたサーバー証明書を必要とします。
    そのためランニングコストが発生しますが、IIS でもサポートされているプロトコルです。
    VB 側から FTPS で送受信するためには、FtpWebRequest クラス を使えます。
    開発のために、一時的に無償のオレオレ証明書でテストするならこんな感じです。
    https://www.chuken-engineer.com/entry/2019/09/25/135516

    SFTP の場合は SSH 上で FTP する方式であり、認証局への申請が不要となるため、
    追加費用が発生しません。個人的には SFTP を推奨しておきます。
    IIS ではサポートされていませんが、Windows Server でも OpenSSH などで導入可能です。
    .NET からの送受信には、SSH.NET が用いられることが多いです。
    https://sorceryforce.net/ja/tips/sftp-ssh-net-basic

    なお定例的な送受信であれば、VB にて実行する代わりに WinSCP を
    コマンドライン実行することで FTP/FTPS/SFTP 通信を行わせることもできます。
    https://winscp.net/eng/docs/lang:jp
違反を報告
引用返信
■35667 / ResNo.5)  Re[3]: ftp接続してファイルアップロード後、別フォルダにコピー
□投稿者/ KOZ 一般人(41回)-(2025/03/29(Sat) 16:36:46)
  • アイコンNo35664に返信(みーちょさんの記事)
    > セキュリティの関係でNGくらったのです。

    セキュリティということであれば、ftp より共有フォルダのほうが強固です。
    共有名の後ろに $ をつければエクスプローラーからは見えなくなりますし。

    Windows ではデフォルトでルートディレクトリが共有されているので
    適切な権限があれば直接さわることもできます。

    D:\bbb フォルダなら、\\サーバー名\D$\bbb という具合です。
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35616 / 親記事)  システムドライブ以外へのページング設定が反映されない
□投稿者/ ぺんたごん 一般人(8回)-(2024/06/10(Mon) 17:07:25)
  • アイコン環境/言語:[Windows 11 Pro 21H2] 
    分類:[その他] 

    ごぶさたしております。
    今回はプログラミングに関係ない話になってしまいますが
    情報が見つからず藁をも掴む思いで質問させていただきます。
    
    ■環境
    Windows 11 Pro 21H2
    C   … NVMe SSD 256 GB
    D   … SATA HDD 1000 GB
    Mem … 16 GB
    
    ■実施した内容と発生した現象
    Visual Studio をはじめとした、一部ファイルが C に強制的に入るソフトウェアを
    多数インストールしているため C の空き領域が足りなくなり、
    ページングを D に移行しようとしました。
    
    仮想メモリ設定で
      C … ページングなし
      D … 8192 -8192 MB
    にしましたが、再起動後に構成エラーとなり再設定を促されました。
    そこで次に
      C … 1024 - 1024 MB
      D … 8192 - 8192 MB
    としたらエラーは起きなくなったのですが、パフォーマンスオプション画面の
    仮想メモリ欄を見ると「すべてのドライブの総ページングファイルサイズ」が
    1024 MB になっており、D から pagefile.sys が消えていました。
    (しかし仮想メモリ設定画面の D には 8192 - 8192 と設定されたまま)
    
    何度設定しても、たまに D の pagefile.sys が残ったまま消えないことが
    ありつつも OS の認識としては C のページングのみとなっています。
    
    USBメモリにページング設定した場合は認識タイミングによってそういったことが起こるようですが
    SATA接続のHDDでそれが起きるのは何故でしょうか
    そして解決する手段は存在するのでしょうか…
    
    以上よろしくお願いします

違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■35617 / ResNo.1)  Re[1]: システムドライブ以外へのページング設定が反映されない
□投稿者/ 魔界の仮面弁士 大御所(1575回)-(2024/06/11(Tue) 11:13:40)
  • アイコンNo35616に返信(ぺんたごんさんの記事)
    > Visual Studio をはじめとした、一部ファイルが C に強制的に入るソフトウェアを
    > 多数インストールしているため C の空き領域が足りなくなり、
    > ページングを D に移行しようとしました。

    自分の場合は、C: ドライブ配下のフォルダーの一部
    (C:\Program Files\dotnet\ など)を、
    別ドライブ上への「シンボリックリンク」とすることで回避しています。

    これにより、容量の大きいアプリケーション群を、
    取り扱い上のパス表記は C:\ 配下のままでアクセスさせつつ、
    実ファイルは、 D: や E: に配置させる構成にすることができます。
    https://www.vb-user.net/junk/replySamples/2024.06.11.09.46/SymLinkDir.png
    https://atmarkit.itmedia.co.jp/ait/articles/1306/07/news111.html

    別案として、パーティション丸ごと割り当てる方法もありますが、
    自分の場合はシンボリックリンクを使うことの方が多いです。
    https://atmarkit.itmedia.co.jp/ait/articles/0002/05/news001.html



    > 再起動後に構成エラーとなり再設定を促されました。
    エラーメッセージの内容を教えていただけますか。


    > 「すべてのドライブの総ページングファイルサイズ」が
    > 1024 MB になっており、D から pagefile.sys が消えていました。
    シャットダウン時に仮想メモリのページファイルをクリアする設定にしているのでしょうか?
    https://www.softwareok.com/?seite=faq-Windows-8&faq=118#Image1


    > (しかし仮想メモリ設定画面の D には 8192 - 8192 と設定されたまま)
    類似の事例は幾つか報告されていますが…今のところ、
    「システムの復元」を使って、正常時時点の復元ポイントに戻すことで復帰したという事例があったぐらいです。
    https://www.techguy.org/threads/cannot-allocate-virtual-memory-allocated-always-0mb.253368/

    設定値が不自然な場合、Windows はそれを無視して独自の動的設定を使用する場合があるという
    記事がありましたが、今回の事象がそれにあたるのかは分かりません。
    https://www.computerhope.com/forum/index.php?topic=46686.0

    古い記事も参考にすると
    KB315270 (2007/12/01)
     ⇒ ボリュームに対する適切な NTFS アクセス許可が System アカウントと Administrators アカウントになかった
     ⇒⇒ NTFS ボリュームに対するフル コントロール権限を System アカウントと Administrators アカウントに与える
    KB316528 (2006/10/19)
     ⇒ 特定のチップセットで発生する問題
     ⇒⇒ BIOS/UEFI の更新を検討
    といったものもありましたが…。

    今のところ、それ以外の対処法は見つかっていません。
    https://www.sevenforums.com/performance-maintenance/297783-windows-doesnt-use-page-file-different-drive.html
    https://answers.microsoft.com/en-us/windows/forum/all/total-paging-file-for-all-drives-doesnt-include/d8676448-b61b-47c9-91dc-0ef518a595d7
    https://www.elevenforum.com/t/cant-change-pagefile-to-the-way-it-was-before-even-after-following-instructions-on-how-to-do-so.6208/
違反を報告
引用返信
■35618 / ResNo.2)  Re[2]: システムドライブ以外へのページング設定が反映されない
□投稿者/ ぺんたごん 一般人(9回)-(2024/06/12(Wed) 08:20:49)
  • アイコン
    返信ありがとうございます
    
    >>再起動後に構成エラーとなり再設定を促されました。
    > エラーメッセージの内容を教えていただけますか。
    Cのページングを無しにすると
    「コンピューターの開始時にページングファイル構成に問題が発生したため、一時ページングファイルが作成されました。
    前ディスクドライブの総ページングファイルサイズが指定したサイズよりも大きくなっている可能性があります。」
    となります。
    そして実際、10GBほどのページングファイルがCに作成されました。
    
    > シャットダウン時に仮想メモリのページファイルをクリアする設定にしているのでしょうか?
    > https://www.softwareok.com/?seite=faq-Windows-8&faq=118#Image1
    [ローカル ポリシー]、[セキュリティ オプション]、[シャットダウン: 仮想メモリのページファイルをクリアする]
    を確認しましたが「無効」となっていました。
    
    
    正直、原因が全くわからないので、ひとまず
    仕方なくCに8192MB設定してDは無しにしています…
    

違反を報告
引用返信
■35619 / ResNo.3)  Re[3]: システムドライブ以外へのページング設定が反映されない
□投稿者/ KOZ 一般人(37回)-(2024/06/12(Wed) 22:59:06)
  • アイコンNVMe と HDD の速度差で現象起きてるんですかね?

    コマンドで設定してみます?

    管理者権限でコマンドプロンプトを立ち上げます。

    > C … 1024 - 1024 MB
    > D … 8192 - 8192 MB

    にするのであれば

    REM ページファイルの自動管理を無効にする
    wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False
    REM ページファイル削除
    wmic pagefileset where name="C:\\pagefile.sys" delete
    wmic pagefileset where name="D:\\pagefile.sys" delete
    REM Cドライブを設定
    wmic pagefileset create name="C:\\pagefile.sys"
    wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=1024,MaximumSize=1024
    REM Dドライブを設定
    wmic pagefileset create name="D:\\pagefile.sys"
    wmic pagefileset where name="D:\\pagefile.sys" set InitialSize=8192,MaximumSize=8192
    REM 再起動
    shutdown /r /t 0

違反を報告
引用返信
■35620 / ResNo.4)  Re[4]: システムドライブ以外へのページング設定が反映されない
□投稿者/ KOZ 一般人(38回)-(2024/06/12(Wed) 23:09:50)
  • アイコンちなみに、

    wmic pagefile list /format:list

    と打つと、現在の設定値が表示されます。
    表示された値を ChatGPT などの AI に聞いてみると、何かわかるかもしれません。

    AllocatedBaseSize=36864
    CurrentUsage=0
    Description=C:\pagefile.sys
    InstallDate=20240427203020.906456+540
    Name=C:\pagefile.sys
    PeakUsage=0
    Status=
    TempPageFile=FALSE
    と出てきたのですが、"それぞれのパラメタについて説明してください"と聞くと

    ・ページファイルの初期サイズは36,864MB(36GB)。
    ・現在使用中のページファイルのサイズは0MB。
    ・ページファイルのパスはC:\pagefile.sys。
    ・ページファイルが作成されたのは2024年4月27日20時30分20秒。
    ・ページファイルのピーク使用量は0MB。
    ・ページファイルの状態に関する特記事項はなし。
    ・ページファイルは一時的なものではない。

    と帰ってきました。
違反を報告
引用返信
■35621 / ResNo.5)  Re[5]: システムドライブ以外へのページング設定が反映されない
□投稿者/ ぺんたごん 一般人(10回)-(2024/06/13(Thu) 08:46:43)
  • アイコンありがとうございます。
    試してみましたが、set InitialSize…の行で
    「利用できるインスタンスがありません。」エラーになり、
    再起動後は C も D も「システム管理サイズ」になりました。
    そして「システム管理サイズ」になっても D には pagefile.sys が作成されないので
    どうあがいても D にページングできないようです…

    もう諦めて魔界の仮面弁士さんに頂いた
    シンボリックリンクで C を空ける手法を取るしかなさそうですね

違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35589 / 親記事)  全角シフト中にアクセスキーが効かない
□投稿者/ うえし 一般人(1回)-(2024/03/20(Wed) 07:48:08)
  • アイコン環境/言語:[.NET Framework4.6、 VB.NET、 VisuleStudio2019] 
    分類:[.NET] 

    .NET FrammeWork4.6でVB.NETの開発をしています。
    MenuStrip上のアイテムに設定したアクセスキーが、半角シフトの状態では正常に反応しますが、全角シフトの状態では全く反応しません。
    市販のソフトに設定されているアクセスキーは正常に反応します。
    また、念のため新しいプロジェクトを作り直して試してみましたが、矢張り全角シフト状態でアクセスキーは効きませんでした。
    アクセスキーの組み込みはネットに数多く掲載されている方法に従っていますので、その方法に間違いはありません。
    何故、全角シフトの状態ではアクセスキーが反応しないのか、原因をお分かりの方は教えてください。よろしくお願いいたします。

違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■35591 / ResNo.1)  Re[1]: 全角シフト中にアクセスキーが効かない
□投稿者/ KOZ 一般人(32回)-(2024/03/21(Thu) 10:20:42)
  • アイコン
    2024/03/21(Thu) 11:02:37 編集(投稿者)
    
    ■No35589に返信(うえしさんの記事)
    > MenuStrip上のアイテムに設定したアクセスキーが、半角シフトの状態では正常に反応しますが、全角シフトの状態では全く反応しません。
    > 市販のソフトに設定されているアクセスキーは正常に反応します。
    
    メモ帳などで使われているメニューと、MenuStrip は別物です。
    .NET には MainMenu というものがあります。
    古い時代のものですから、拡張性がなく、今ではデザイナのツールボックスからも消えてしまいました。
    次の様なコードで使用できます。
    
    Public Class Form1
    
        Public Sub New()
            InitializeComponent()
            Dim mainMenu As New MainMenu
            Dim fileMenu As New MenuItem("ファイル(&F)")
            Dim exitMenuItem As New MenuItem("終了(&X)")
            fileMenu.MenuItems.Add(exitMenuItem)
            mainMenu.MenuItems.Add(fileMenu)
            Me.Menu = mainMenu
            AddHandler exitMenuItem.Click, AddressOf exitMenuItem_Click
        End Sub
    
        Private Sub exitMenuItem_Click(sender As Object, e As EventArgs)
            Close()
        End Sub
    
    End Class
    
    .NET Core 3.1 以降、使えなくなりますので、使わないほうがいいと思います。

違反を報告
引用返信
■35592 / ResNo.2)  Re[2]: 全角シフト中にアクセスキーが効かない
□投稿者/ うえし 一般人(4回)-(2024/03/21(Thu) 16:55:41)
  • アイコン全角シフト中はアクセスキーを使えないということは、正しい仕様なのでしょうか?


違反を報告
引用返信
■35593 / ResNo.3)  Re[3]: 全角シフト中にアクセスキーが効かない
□投稿者/ KOZ 一般人(33回)-(2024/03/21(Thu) 18:04:21)
  • アイコンNo35592に返信(うえしさんの記事)
    > 全角シフト中はアクセスキーを使えないということは、正しい仕様なのでしょうか?

    正しい仕様かどうかはわかりません。
    が、そういうものだと思って使うしかないでしょう。


違反を報告
引用返信
■35594 / ResNo.4)  Re[4]: 全角シフト中にアクセスキーが効かない
□投稿者/ KOZ 一般人(34回)-(2024/03/21(Thu) 18:51:01)
  • アイコンちなみに、私の環境だと、かな入力のときだけ問題が発生します。
    ローマ字入力だと使えるので不具合かもしれません。

    Visual Studio には問題を報告する機能があります。(とはいえリンクに飛ぶだけですが)
    https://learn.microsoft.com/ja-jp/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022

    報告したら修正してくれるかも?
違反を報告
引用返信
■35595 / ResNo.5)  Re[5]: 全角シフト中にアクセスキーが効かない
□投稿者/ うえし 一般人(5回)-(2024/03/22(Fri) 06:18:42)
  • アイコン私の環境でも、ローマ字入力の場合は大丈夫でした。
    かな入力の場合だけ問題が発生するようですね。
    ありがとうございました。
解決み!
違反を報告
引用返信

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



■記事リスト / ▼下のスレッド / ▲上のスレッド
■35494 / 親記事)  VB.NETからcmdでpingを実行した時の結果
□投稿者/ ぱんだ 一般人(1回)-(2023/08/22(Tue) 19:38:48)
  • アイコン環境/言語:[環境:Windows11 Pro 64bit 使用言語:VB.NET(Visual Studio 2022)] 
    分類:[.NET] 

    はじめまして。
    
    最近プログラミングを始めようと思い立ち以下のサンプルを試してみたのですが、
    pingのように結果がリアルタイム?で何度も返ってくる場合のサンプルコードを
    知りたいです。
    https://dobon.net/vb/dotnet/process/standardoutput.html
    
    ipconfigなどのように結果が1回で終わるものは上記のサンプルで出来ました。
    
    Visual Studio 2022をWindows11 Pro 64bitで使用しています。
    
    お手数をおかけしますが、よろしくお願いいたします。
    

違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■35495 / ResNo.1)  Re[1]: VB.NETからcmdでpingを実行した時の結果
□投稿者/ KOZ 一般人(23回)-(2023/08/22(Tue) 21:00:42)
  • アイコン
    No35494に返信(ぱんださんの記事)
    > pingのように結果がリアルタイム?で何度も返ってくる場合のサンプルコードを
    > 知りたいです。
    
    Process.StandardOutput は StreamReader です。
    EndOfStream プロパティが True になるまで ReadLine を繰り返してください。
    
    Using p As New Process
        p.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec")
        p.StartInfo.UseShellExecute = False
        p.StartInfo.RedirectStandardOutput = True
        p.StartInfo.RedirectStandardInput = False
        p.StartInfo.CreateNoWindow = True
        p.StartInfo.Arguments = "/c ping 127.0.0.1"
        p.Start()
        Dim reader = p.StandardOutput
        Do Until reader.EndOfStream
            Dim buffer = reader.ReadLine()
            Console.WriteLine(buffer)
        Loop
        p.WaitForExit()
    End Using
    Console.WriteLine("何かキーを押すと終了します。")
    Console.ReadKey()
    

違反を報告
引用返信
■35496 / ResNo.2)  Re[2]: VB.NETからcmdでpingを実行した時の結果
□投稿者/ ぱんだ 一般人(2回)-(2023/08/22(Tue) 23:54:44)
  • アイコン
    早速の返信ありがとうございます。
    おかげさまで以下のコードで実現できて助かりました。
    これから少しづつ学んでいこうと思います。
    ありがとうございました。
    
            Using p As New Process
                p.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec")
                p.StartInfo.UseShellExecute = False
                p.StartInfo.RedirectStandardOutput = True
                p.StartInfo.RedirectStandardInput = False
                p.StartInfo.CreateNoWindow = True
                p.StartInfo.Arguments = "/c ping 127.0.0.1"
                p.Start()
                Dim reader = p.StandardOutput
                Do Until reader.EndOfStream
                    Dim buffer = reader.ReadLine()
                    '以下3行を追加
                    Debug.Print(buffer)
                    TextBox1.Text = TextBox1.Text & vbCrLf & buffer
                    Me.Refresh()
                Loop
                p.WaitForExit()
            End Using

違反を報告
引用返信
■35497 / ResNo.3)  Re[2]: VB.NETからcmdでpingを実行した時の結果
□投稿者/ ぱんだ 一般人(3回)-(2023/08/23(Wed) 00:12:12)
  • アイコン
    KOZさん
    
    度々すみません。
    以下のコードと添付写真の通り作成してみたのですが、
    例えば添付写真のように途中でキャンセルする方法はありますか?
    実行中は他のボタンも押せなくなってしまいます。
    何度も申し訳ありませんが、可能でしたらサンプルコードを教えて
    いただけましたら幸いです。
    何卒よろしくお願いいたします。
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            'Process.StandardOutput は StreamReader です。
            'EndOfStream プロパティが True になるまで ReadLine を繰り返してください。
    
            Using p As New Process
                p.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec")
                p.StartInfo.UseShellExecute = False
                p.StartInfo.RedirectStandardOutput = True
                p.StartInfo.RedirectStandardInput = False
                p.StartInfo.CreateNoWindow = True
                'p.StartInfo.Arguments = "/c ping 127.0.0.1"
                p.StartInfo.Arguments = "/c " & TextBox2.Text
                p.Start()
                Dim reader = p.StandardOutput
                Do Until reader.EndOfStream
                    Dim buffer = reader.ReadLine()
                    'Console.WriteLine(buffer)
                    Debug.Print(buffer)
                    TextBox1.Text = TextBox1.Text & vbCrLf & buffer
                    Me.Refresh()
                Loop
                p.WaitForExit()
            End Using
            'Console.WriteLine("何かキーを押すと終了します。")
            'Console.ReadKey()
        End Sub

639×389 => 250×152
イメージ
2023-08-23.png
/11KB
違反を報告
引用返信
■35498 / ResNo.4)  Re[3]: VB.NETからcmdでpingを実行した時の結果
□投稿者/ KOZ 一般人(24回)-(2023/08/23(Wed) 05:54:27)
  • アイコン
    2023/08/23(Wed) 05:57:00 編集(投稿者)
    
    ■No35497に返信(ぱんださんの記事)
    
    CTRL+C を送ってキャンセルでいいんですかね?
    
    Imports System.Runtime.InteropServices
    
    Public Class Form1
    
        Private cmdProcess As Process
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If cmdProcess IsNot Nothing Then Return
            TextBox1.Clear()
            cmdProcess = New Process
            cmdProcess.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec")
            cmdProcess.StartInfo.UseShellExecute = False
            cmdProcess.StartInfo.RedirectStandardOutput = True
            cmdProcess.StartInfo.RedirectStandardInput = False
            cmdProcess.StartInfo.CreateNoWindow = True
            cmdProcess.StartInfo.Arguments = "/c " & TextBox2.Text
            cmdProcess.Start()
            Task.Run(AddressOf ReadTask)
            Button1.Enabled = False
            Button2.Enabled = True
        End Sub
    
        Private Sub ReadTask()
            Dim reader = cmdProcess.StandardOutput
            Do Until reader.EndOfStream
                Dim buffer = reader.ReadLine()
                Invoke(Sub()
                           TextBox1.AppendText(vbCrLf & buffer)
                           Refresh()
                       End Sub)
            Loop
            cmdProcess.WaitForExit()
            cmdProcess.Dispose()
            cmdProcess = Nothing
            Invoke(Sub()
                       Button1.Enabled = True
                       Button2.Enabled = False
                   End Sub)
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            If AttachConsole(cmdProcess.Id) Then
                SetConsoleCtrlHandler(IntPtr.Zero, True)
                GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0)
                cmdProcess.WaitForExit()
                SetConsoleCtrlHandler(IntPtr.Zero, False)
                FreeConsole()
            End If
        End Sub
    
        Private Const CTRL_C_EVENT = 0
        Private Const CTRL_BREAK_EVENT = 1
    
        <DllImport("Kernel32")>
        Private Shared Sub GenerateConsoleCtrlEvent(dwCtrlEvent As Integer, dwProcessGroupId As Integer)
        End Sub
    
        <DllImport("Kernel32")>
        Private Shared Function AttachConsole(dwProcessId As Integer) As Boolean
        End Function
    
        <DllImport("Kernel32")>
        Private Shared Function SetConsoleCtrlHandler(HandlerRoutine As IntPtr, add As Boolean) As Boolean
        End Function
    
        <DllImport("Kernel32")>
        Private Shared Function FreeConsole() As Boolean
        End Function
    
    End Class
    

違反を報告
引用返信
■35501 / ResNo.5)  Re[4]: VB.NETからcmdでpingを実行した時の結果
□投稿者/ ぱんだ 一般人(1回)-(2023/08/23(Wed) 21:05:09)
  • アイコン
    2023/08/23(Wed) 21:08:45 編集(投稿者)
    
    KOZさん
    
    早速ありがとうございます。
    
    複雑な処理が必要なんですね!
    サンプルコードを元に勉強していきたいと思います。
    本当にどうもありがとうございました。

違反を報告
引用返信

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



■記事リスト / ▲上のスレッド
■35467 / 親記事)  TabPageの背景色
□投稿者/ くるり 一般人(1回)-(2023/07/08(Sat) 22:40:02)
  • アイコン環境/言語:[.NET Framework 4.8 , Windows11 , VB.Net] 
    分類:[.NET] 

    お世話になっています。

    TabPageにTextboxを設置し、背景色(BackColor)をTabPageと同色にしようと試みていますが、TabPageの背景色初期値がTransparentのため、Textboxの背景色には設定できません。
    TabPageの親コントロールであるTabControlにはそもそも背景色を設定するプロパティはなく、かといって、Formの背景色ともTabPageの背景色は異なります。

    イメージとしては、ファイルなどのプロパティにある編集不可のTextboxのように親コントロールと同色のReadonlyのTextboxを設置したいのですが、何か良い方法はあるでしょうか。
    (Labelコントールは、テキストを選択できないのでNG)

    最後の手段としては、TabPageの背景色である#F9F9F9を直接指定しようと思いますが、コントロールの色や形状はOSのバージョンに依存するので、できれば、TabPageと同色の背景色を自動で設定できるようにしたいと考えています。
違反を報告
引用返信

▽[全レス5件(ResNo.1-5 表示)]
■35468 / ResNo.1)  Re[1]: TabPageの背景色
□投稿者/ くるり 一般人(2回)-(2023/07/08(Sat) 22:47:17)
  • アイコン補足です。

    >TabPageの背景色である#F9F9F9を直接指定しようと思いますが

    この色は、TabPageのスクリーンショットを取って、ペイントで確認したものです。
違反を報告
引用返信
■35469 / ResNo.2)  Re[1]: TabPageの背景色
□投稿者/ KOZ 一般人(21回)-(2023/07/09(Sun) 19:46:06)
  • アイコン
    No35467に返信(くるりさんの記事)
    > 親コントロールと同色のReadonlyのTextboxを設置したいのですが、何か良い方法はあるでしょうか。
    
    DrawToBitmap で bmp に描画して、GetPixel で色を取得するとか。
    
    Public Class Form1
    
        Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
            Dim sz = TabPage1.Size
            Using bmp As New Bitmap(sz.Width, sz.Height)
                TabPage1.DrawToBitmap(bmp, New Rectangle(Point.Empty, sz))
                Dim bkColor = bmp.GetPixel(1, 1)
                TextBox1.BackColor = bkColor
            End Using
        End Sub
    
    End Class

違反を報告
引用返信
■35470 / ResNo.3)  Re[2]: TabPageの背景色
□投稿者/ くるり 一般人(3回)-(2023/07/10(Mon) 04:39:52)
  • アイコン>DrawToBitmap で bmp に描画して、GetPixel で色を取得するとか。

    サンプルコードをご提示いただき、ありがとうございます。
    こんな簡単に色情報を取得できるのですね。目からうろこです。

    ご提示いただいたコードを参考にすることで、目的としている機能の実装ができました。
    ありがとうございます。
解決み!
違反を報告
引用返信
■35471 / ResNo.4)  Re[3]: TabPageの背景色
□投稿者/ 魔界の仮面弁士 大御所(1556回)-(2023/07/10(Mon) 11:02:30)
  • アイコンNo35470に返信(くるりさんの記事)
    > こんな簡単に色情報を取得できるのですね。目からうろこです。

    ちなみに、TabPage の背景色は単色とは限りません。

    OS 側の設定テーマによっては、グラデーションがかかっているなど、
    座標ごとに複数の色が使用されていることがあります。
    http://dobon.net/vb/dotnet/graphics/drawvisualcontrol.html

    https://rarara.org/community/programming/%E3%82%BF%E3%83%96%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E8%83%8C%E6%99%AF%E8%89%B2%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F/
解決み!
違反を報告
引用返信
■35472 / ResNo.5)  Re[4]: TabPageの背景色
□投稿者/ くるり 一般人(4回)-(2023/07/10(Mon) 23:44:17)
  • アイコン2023/07/11(Tue) 12:09:39 編集(投稿者)
    2023/07/11(Tue) 12:06:40 編集(投稿者)

    > ちなみに、TabPage の背景色は単色とは限りません。
    > OS 側の設定テーマによっては、グラデーションがかかっているなど、
    > 座標ごとに複数の色が使用されていることがあります。

    情報ありがとうございます。

    なるほど。
    実は、どこかののプロパティなどから取得できないものか、
    もやもやしたものがありましたが、TabPageの背景色はグラデーションが
    設定されているなどOSのテーマに依存しており、プロパティから取得できる類の
    ものではなさそうですね。

    教えていただいたURLも参考になりそうです。ありがとうございます。

    サンプルはC++でしたが、VB.Netでグラデーションを想定した対応を実装するとすれば
    ・同じサイズのTabPage背景をメモリ上に描画(http://dobon.net/vb/dotnet/graphics/drawvisualcontrol.html)
    ・Textboxがある座標の画像を切り抜き、ブラシを作成
    ・ブラシを用いてTextboxを描画(OwnerDraw)
    といった流れですね。おそらく。

解決み!
違反を報告
引用返信

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






Mode/  Pass/


- Child Tree -