カテゴリー : .NETプログラミング

VB.NET フォームロード時にフォーカスを設定

フォームロード時に、コントロールへフォーカスを設定する場合、

Me.TextBox1.Focus()

ではうまくいかない。

Me.ActiveControl = Me.TextBox1

だとうまくいくので「ActiveControl」を使用。

VB.NET ログインユーザ名 マシン名取得

ログ出力等の処理でよく使うのでメモ

「System.Environment」クラスを使用して取得
ログインユーザ名取得
System.Environment.UserName
マシン名取得
System.Environment.MachineName

「My」機能を使用して取得
ログインユーザ名取得
My.User.Name
マシン名取得
My.Computer.Name

「System.Environment」も「My」も同じと思いきやちょっと違った。

「My.User.Name」にはドメイン名が付加され、
「System.Environment.UserName」には付加されない。

例:「abc\admin」でログインしている場合
  「My.User.Name」の結果は「abc\admin」
  「System.Environment.UserName」の結果は「admin」

VB.NET WebBrowserでスクリプトを実行しない(Javascript無効)

.NETのWEBページを表示するWebBrowserコントロールでJavascript無効などスクリプトを実行しない方法

MSDNのフォーラム
WebBrowserコントロール 画像を表示しない

で画像を表示しない方法が紹介されていますが、
これを利用してプロパティを変更することで、スクリプトを実行しないようにできます。

方法
・上記サイトを参考に「Public Class WebBrowserControler」を作成
・以下のように使用

  Dim webCtrl As WebBrowserControler
  ‘WebBrowserコントロールを引数に設定
  webCtrl = New WebBrowserControler(WebBrowser1)
  ’スクリプトを実行しないように設定
  webCtrl.DlControl = webCtrl.DlControl Or DLCTL.NO_SCRIPTS

画像の表示非表示やJavascript無効以外にもプロパティを設定することでActiveXコントロールを実行しないようにするなどいろいろ可能のようです。

プロパティを紹介しておきます。

Public Enum DLCTL As Integer
  BGSOUNDS = &H40 ‘BGMを再生する
  DLIMAGES = &H10 ‘サーバーから画像をダウンロードする
  DOWNLOADONLY = &H800 ‘コンポーネントをダウンロードするが表示しない
  FORCEOFFLINE = &H10000000 ‘常にオフラインモード
  NO_BEHAVIORS = &H8000
  NO_CLIENTPULL = &H20000000
  NO_DLACTIVEXCTLS = &H400 ‘ActiveXコントロールをダウンロードしない
  NO_FRAMEDOWNLOAD = &H1000 ‘フレームをダウンロードしない
  NO_JAVA = &H100 ‘JAVAアプレットを実行しない
  NO_METACHARSET = &H10000
  NO_RUNACTIVEXCTLS = &H200 ‘ActiveXコントロールを実行しない
  NO_SCRIPTS = &H80 ‘スクリプトを実行しない
  OFFLINE = &H80000000
  OFFLINEIFNOTCONNECTED = &H80000000
  PRAGMA_NO_CACHE = &H4000
  RESYNCHRONIZE = &H2000
  SILENT = &H40000000 ‘ダイアログを表示しない
  URL_ENCODING_DISABLE_UTF8 = &H20000
  URL_ENCODING_ENABLE_UTF8 = &H40000
  VIDEOS = &H20 ‘ビデオクリップを再生する
End Enum

VB.NET – 実行中のメソッド名(関数名)を取得

デバッグとかでよく使うのでメモ

「System.Reflection.MethodBase」クラスの「Name」プロパティで取得する。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  ‘現在のメンバの名前を取得します。
  Debug.WriteLine(System.Reflection.MethodBase.GetCurrentMethod.Name)
End Sub

出力結果
Button1_Click

VB.NET DirectShowで早送りとコマ送り

前回の「DirectShowで動画再生」の続き

もちろん、DirectShowの.NET用ライブラリ「DirectShowLib」を使用しております。

早送りもコマ送りもライブラリを使用することで簡単にできてしまいました。

Private Sub 早送り_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
  ‘IMediaSeekingインターフェースを使用
  Dim mediaSeeking As IMediaSeeking
  mediaSeeking = DirectCast(fg, IMediaSeeking)
  mediaSeeking.SetRate(2.0) ’2倍速
End Sub

Private Sub コマ送り_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
   ‘IVideoFrameStepインターフェースを使用
  Dim videoFrameStep As IVideoFrameStep
  videoFrameStep = DirectCast(fg, IVideoFrameStep)
  videoFrameStep.Step(1, Nothing) ’1コマ
End Sub

ライブラリ様様です。

メモ:DirectShow リファレンス
MSDN – IVideoFrameStep インターフェイス
MSDN – IMediaSeeking インターフェイス

 
WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera