2015年10月15日

VBパーツメニュー

2015年10月01日

IEタブ制御

IE11のタブ制御  Visual Basic 6.0 Visual Basic 2008 2013/11/06up

インターネットエクスプローラーはVersion7以降、タブウィンドウになりました。
ここでは、そのタブをプログラムで情報取得、および制御を行います。

処理概要

タブ自体の情報取得・制御はDLLコンポーネント IeTabCtl.dll を利用します。

関数名 処理 パラメータ
GetIeTabCount タブの個数を返す
ここでは「新しいタブ」の追加ボタンも個数に加える
hWnd As Long:ウィンドウハンドル
As Long :   戻り値 タブ個数 -1:失敗
GetIeTabName タブに表示されている文字列 hWnd As Long:ウィンドウハンドル
Index As Long:タブ順 1から開始
lpString As String:文字列格納バッファ
nMaxCount As Long:バッファサイズ
As Long :   戻り値(0正常 -1:失敗)
GetIeTabUrl タブで表示中のWEBアドレス

  表示文字(改行)URL
  となる。
hWnd As Long:ウィンドウハンドル
Index As Long:タブ順
lpString As String:文字列格納バッファ
nMaxCount As Long:バッファサイズ
As Long :   戻り値(0正常 -1:失敗)
GetIeTabSelect 選択されているタブインデックス
左から 1~タブ個数
hWnd As Long:ウィンドウハンドル
SelectIeTab タブを選択する hWnd As Long:ウィンドウハンドル
Index As Long:タブ順
 個数を指定すると一番右側(新しいタブ)が追加される

As Long : 戻り値(0正常 -1:失敗)
CloseIeTab タブを閉じる。
タブが1個(「新しいタブ」を除く)の場合は閉じられない。
Index As Long:タブ順
hWnd:ウィンドウハンドル(省略可)

As Long : 戻り値(0正常 -1:失敗)

タブ順 1から開始
戻り値  -1:失敗

詳細とダウンロード

2013年09月09日

ジュリア集合

ジュリア集合-フラクタル図形   Visual Basic 6.0 Visual Basic 6.0   

ジュリア集合

計 算する漸化式はマンデルブロ集合と同じですが、定数部を固定し、座標の初期値を変化させます。

ジュリア集合ジュリア集合
詳細とダウンロード

2013年08月29日

マンデルブロ集合

マンデルブロ集合-フラクタル図形   Visual Basic 6.0 Visual Basic 6.0  

マンデルブロ集合は、1980年頃にアメリカ人数学者のブノワ・マンデルブロさん(Benoit B. Mandelbrot)が発見したフラクタル集合の一種です。
自己相似の性質を持ち、拡大していくと似たような画像(同じではない)が繰り返し現れてきます。

マンデルブロ集合マンデルブロ集合
詳細とダウンロード

2011年02月26日

スプリッター

VB6でスプリッターコントロール  Visual Basic 6.0 

VB.NETには左右のコントロールの幅を連動させて変更できるスプリッターコントロールがありますが、
残念なことにVB6にはありません。
ここでは、VB6で同じような機能を実装してみます。


詳細とダウンロード

2011年02月14日

サウンド演奏

サウンド演奏 Visual Basic 6.0 Visual Basic 2008

MCI(Media Control Interface)を使用してサウンドファイルを再生します。
MCIでは、個々のファイル形式の違いを意識せず、どのようなファイルでも統一的な方法で再生することができます。
また、再生や一時停止といった操作を行うためには、MCIデバイスに対してコマンドを送信する形式なので、
再生や一時停止といった操作を一つの関数で行うことが出来ます。

詳細とダウンロード




2010年02月11日

サムネイル生成

サムネイル生成 Visual Basic 6.0 Visual Basic 2008

ファイルから画像を読み込んで、サムネイル画像を作成。
作成した画像は、JPEG形式で保存できます。

詳細とダウンロード




2008年11月20日

他アプリへの入力3

他アプリへの文字入力3 - SendMessage 3 Visual Basic 6.0 Visual Basic 2008


他のアプリケーションの入力フィールドに、文字を入力する。
ここでは、
SendMessageAPI関数を使ってメモ帳に対して「寿限無」を1文字0.05秒間隔で送信。

入力相手先に
キーボードフォーカスを持つ(キー入力を受け付ける状態)ウィンドウとすることで汎用的になる。 実行イメージ

詳細とダウンロード

2008年09月23日

HTTPデータ受信 MSHTML

Visual Basic 6.0 Visual Basic 2008 2008/09/23up
CreateDocumentFromUrlによるHTTPデータの受信


ここではHTMLコンポーネントのCreateDocumentFromUrlを使用してHTMLデータにアクセス。
WebBrowswerなどのActiveXは必要なく、またWinInetも使用しないので、コードが非常に短く間単に記述可能。
Webページのデータのみ受信したい時は便利な方法。コードも自動的に変換される。

 


詳細とダウンロード




2008年09月22日

IE制御

IE制御 Visual Basic 6.0  2008/09/22 up

インターネットエクスプローラー(以降IEと省略)の制御、およびIEで表示しているWebページ(HtmlDocument)の操作を行う。
SHDocVwによりIEのオブジェクトを取得するため、WebBrowserなどのActiveXコントロールは不要で、起動済みのIEに直接アクセスできる。


画面説明

詳細とダウンロード

2008年06月12日

HTTPデータ受信

WinInetによるHTTPデータの受信 Visual Basic 6.0


Webページのデータを取得し加工したい場合がありますが、
IEを使ったり、ActiveX(WebBrouser)コントロールなどを使うと、簡単に受信できる反面、余計な画像も取得されて動作が非常に遅くなります。
ここでは、
WinInetのAPI関数で直接HTTPによりデータを受信します。
受信しただけでは芸が無いので、
HTMLタグの除去コード変換(EUC、UTF-8などからUnicode)も行います。

詳細とダウンロード




2008年05月16日

リストビューの項目を取得

リストビューの文字列取得 Visual Basic 6.0 Visual Basic 2008 2008/09/02 up

他のプロセスが所有するリストビュー(ListView)の項目文字列をテキストボックスに取得します。
取得タイミングは、
リストビューListView)の上にマウスポインタが置かれた時。
ESCキーの押下により更新を停止することも出来る。

WindowsNT系用)
タスクマネージャの表示項目を読み取った例

詳細とダウンロード




2008年05月07日

コンボボックスの文字列取得

コンボボックスの文字列取得 Visual Basic 6.0 Visual Basic 2008

コンボボックスの項目文字列をテキストボックスに取得します。
取得タイミングは、コンボボックスの上にマウスポインタが置かれた時。
ホットキー(ESC)により更新を停止可能。

詳細とダウンロード




2008年04月09日

CSV形式データの解析

CSV形式データの解析 Visual Basic 6.0 Visual Basic 2008


カンマ区切りのデータを処理するのは、結構面倒です。単純にカンマを区切り文字と約束すれば簡単ですが、カンマをデータとして認める場合は面倒なことになります。さらに、改行やダブルクォートもデータとして認めると、もっと面倒です。ExcelでCSVファイルとして保存し、自分でそのファイルデータを処理する時、まさに、その状況。


本パーツは、そのExcel CSVファイルを処理するためのVB6用サブルーチンです。実行イメージ

詳細とダウンロード

2008年04月08日

クリックキャプチャー

クリックキャプチャー Visual Basic 6.0 Visual Basic 2008

マウスでクリックした位置の周辺を、矩形状にキャプチャーしてピクチャーボックスに描画します。
矩形領域はテキストボックスから、マウスポインタを中心とした相対位置(開始位置x,yと幅/高さ)で指定。
また、ピクチャーボックスをクリックしたら、クリップボードに画像がコピーされます。

詳細とダウンロード




2008年04月07日

ウィンドウ検索

指定したクラス/タイトル名に一致するウィンドウハンドルを全て取得

ウィンドウ検索 Visual Basic 6.0 Visual Basic 2008


クラス名ウィンドウタイトル名に一致するウィンドウハンドルを取得する関数にFindWindowがあるが、この関数では、同一名のクラス/タイトルのウィンドウが複数存在する時、ウィンドウハンドルを1つだけ(Zオーダーが一番前面)しか取得できない。
ここでは、対象となる
全てのウィンドウハンドルを配列形式で返す関数MyFindWindowを作成し、リストビューに、そのウィンドウの詳細情報を列挙するプログラムを作成する。


実行イメージ

詳細とダウンロード

2008年02月25日

PCの電源をオフ

PCの電源オフ Visual Basic 6.0 Visual Basic 2008

指定時間(分)後に、パソコンの電源オフ/再起動/ログオフの各処理を行います。
Windows98、NT双方に対応。
実行イメージ

詳細とダウンロード

2008年02月24日

休止

PCを休止/スタンバイ(スリープ) Visual Basic 6.0 Visual Basic 2008


指定時間(分)後に、パソコンを休止/スタンバイ(スリープ)状態にします。
実行イメージ

詳細とダウンロード

2008年02月11日

ウィンドウ情報列挙

ウィンドウ情報列挙 Visual Basic 6.0 Visual Basic 2008

画面上のウィンドウを全てをリストビューに列挙する。
オプションボタンにより、トップウィンドウの列挙と、ポイントしているウィンドウの子ウィンドウの列挙を切り替える。また、カラムヘッダのクリックによる並べ替えも行う。
リストビューの更新は、ポイント位置のウィンドウハンドルが変化した時、また、
ESCキーの押下で中止する。
実行イメージ

詳細とダウンロード

2008年01月28日

ウィンドウ情報取得

各種ウィンドウ情報表示 Visual Basic 6.0 Visual Basic 2008


マウスポインタで指し示しているウィンドウの各種情報をリストボックスに表示する。
表示する情報は
最前面ウィンドウ、ポイントしているウィンドウ、親ウィンドウ、オーナーウィンドウ
のそれぞれについての
ウィンドウハンドル、プロセスID、ウィンドウ(左、上、右、下)座標、クラス名、ウィンドウタイトル

実行イメージ

詳細とダウンロード

2008年01月27日

他アプリへの入力2

他アプリへの文字入力 SendInput Visual Basic 6.0 Visual Basic 2008


他のアプリケーションの入力フィールドに、文字を入力する。
ここでは、クリップボードに文字をコピーし、
SendInputAPI関数を使ってメモ帳に対して(コントロール+「V」)キーによる「貼り付け」動作にて、「寿限無」を1文字0.05秒間隔で入力。
(何かと問題のあるSendkeysは使用しない)

実行イメージ

詳細とダウンロード

2008年01月26日

他アプリへの入力1

他アプリへの文字入力1 Visual Basic 6.0 Visual Basic 2008


他のアプリケーションの入力フィールドに、文字を入力する。
ここでは、
SendMessageAPI関数を使ってメモ帳に対して「寿限無」を1文字0.05秒間隔で送信。
(何かと問題のあるSendkeysは使用しない) 実行イメージ

詳細とダウンロード

他アプリへの入力 0

他アプリへの文字入力 0 Visual Basic 6.0 Visual Basic 2008


他のアプリケーションの入力フィールドに、文字を入力する。
ここでは、
SendKeysI関数 を使ってメモ帳に対して「寿限無」を1文字0.05秒間隔で送信。
  実行イメージ

詳 細とダウンロード

2008年01月25日

キースキャン

キースキャン Visual Basic 6.0 Visual Basic 2008

キーダウン、キーアップを検知し、リストボックスに表示。
ここではAPI関数(GetAsyncKeyState)を使用してVB6のみで実現。

実行イメージ

詳細とダウンロード

2008年01月24日

マウススキャン

マウススキャン Visual Basic 6.0 Visual Basic 2008


マウスの移動、クリックを検知し、リストボックスに表示。
ここではAPI関数(GetCursorPos、GetAsyncKeyState)を使用してVB6のみで実現。

 確実で手っ取り早いのは、CなどでDLLを作成してマウスイベントメッセージを取り込み(SetWindowsHookEx)、VBに通知(PostMessage)する方法ですが、ここではVBのみにて作成。 実行イメージ


詳細とダウンロード