HSP3 あれこれ <COM・ActiveX>

Last Update : 2009/11/xx

☆ COMオブジェクト・ActiveXコントロールの利用

 HSP3からCOMオブジェクトに標準で扱えるようになりました。

 また、COMオブジェクトを利用するActiveXコントロールも設置できるようになりました。axobj命令の説明にあるように、「ATL.dll」or「ATL71.dll」がシステムに存在する必要があります。Windows 98では含まれてない可能性があり、その場合はInternet Explorer 6.0以降が導入されてる必要があるようです。

↑TOP↑

アニメーションGIFファイル

 アニメーションGIFファイルの単純再生です。実際にはIEコンポーネント上での動作となってます。HSP標準のpicload命令はアニメーションとしては機能しません。他にも、mci命令でアニメーションGIF再生表示Susieプラグインを利用したフレーム分解を掲載してます。

//	アニメーションGIFファイル

	onexit *exit

;	Cドライブ直下にアニメーションGIFファイルがあるとして
	axobj oIE, "C:\\hogehoge.gif", 200, 200
	stop

*exit
	delcom oIE

	end

↑TOP↑

Microsoft Windows Media Player

 Windows標準添付の音楽・動画再生プレーヤー「Windows Media Player」(WMP)を利用します。最新のWMPに相当するバージョン7以降(MSDN)、互換用として残っている旧式のバージョン6.4(MSDN)があります。

//	Windows Media Player 7以降(by Kpan)

	onexit *exit

	pos 50, 50
	axobj wmp, "{6BF52A52-394A-11d3-B153-00C04F79FAA6}", 300, 300

;	WMPバージョン(「*.0.0.****」形式)
	mes wmp("versionInfo")

;	プレーヤー部品表示 ("none"/"mini"/"full"の3種、WMP9以降で非表示の"invisible")
	wmp("uiMode") = "full"

;	右クリックメニュー表示(0=オフ、1=オン・デフォ)
	wmp("enableContextMenu") = 0

;	Settingsオブジェクト取得
	wmpset = wmp("settings")

;	自動再生(0=オフ、1=オン・デフォ)
	wmpset("autoStart") = 0

;	ボリューム設定(0〜100)
	wmpset("volume") = 100

;	消音ミュート(0=オフ・デフォ、1=オン)
	wmpset("mute") = 0

;	再生回数 (1〜)
//	wmpset("playCount") = 1

;	無限ループ再生(0=オフ・デフォ、1=オン)
	wmpset->"setMode" "loop", 0

;	再生する音楽や動画のファイルパス、URLアドレスもOK
	wmp("URL") = "sample\\demo\\se_tyuiin.wav"

;	Controlsオブジェクト取得
	wmpcnt = wmp("controls")

	button "PLAY", *wmpplay

	stop

*wmpplay
	wmpcnt->"play"

;	その他・・・
//	wmpcnt->"pause"
//	wmpcnt->"stop"
//	wmpcnt->"next"
//	wmpcnt->"previous"

	stop

*exit
	wmp->"close"

	delcom wmpcnt
	delcom wmpset
	delcom wmp

	end
//	Windows Media Player 6.4版(by Kpan)

	onexit *exit

	pos 50, 50
	axobj wmp, "{22D6F312-B0F6-11D0-94AB-0080C74C7E95}", 300, 300

;	他にもたーくさんあり。以下は部品表示オン/オフ。
	wmp("ShowControls") = 1
	wmp("ShowDisplay") = 1
	wmp("ShowStatusBar") = 1
	wmp("ShowAudioControls") = 1

;	リピート数 (0は無限ループ)
	wmp("PlayCount") = 0

;	再生する音楽や動画のファイルパスやURLアドレス
	wmp("FileName") = "sample\\demo\\GX3_.MID"

	stop

*exit
	delcom wmp

	end

↑TOP↑

Microsoft Word

 オフィスソフト「Microsoft Office」の文章作成ソフト「Microsoft Word」を利用して、ドキュメントファイル(DOCファイル)を出力します(MSDN)。ちなみに、HSPの付属サンプルには、表計算ソフト「Microsoft Excel」の利用例が用意されてます。

//	Mirosoft Word - DOCファイルの出力 (by Kpan)

	onexit *exit

	notesel buf
	noteload "readme.txt"

	newcom pWord,"Word.Application"
	if stat != 0 : end
 
	pWord("Visible") = 1 ; Word画面表示したいなら
	pWord("DisplayAlerts") = 0 ; 警告メッセージなし

;	バージョン (8.0=97、9.0=2000、10.0=2002、11.0=2003、12.0=2007、14.0=2010)
	mes pWord("Version")

	pDocments = pWord("Documents")

;	新しい文章を作成 
	pDoc = pDocments("Add")

;	テキストを挿入
	pRange = pDoc("Range", 0, 0)
	pRange("Text") = buf

;	文章を保存
	pDoc->"SaveAs" "C:\\hsp_hogehoge.doc"

;	Microsoft Wordの終了
	pWord->"Quit"

	mes "完了"

	stop

*exit
	delcom pDoc
	delcom pWord

	end

↑TOP↑

Apple QuickTime

 Appleの無料音楽・動画再生プレーヤー「QuickTime」を利用します(Apple Developer Connection)。ちなみに、HSPの付属サンプルには、「Apple iTunes」の制御例が用意されてます。

//	QuickTime (by Kpan)

	onexit *exit

	axobj qt, "QTOControl.QTControl.1", 300, 300
	if stat = -1 : dialog "error" : end

	button "", *play
	stop

*play
	dialog "", 16
	if stat = 0 : stop

	wait 1
	qt("URL") = refstr

	stop

*exit
	delcom qt

	end

↑TOP↑

Adobe Flash Player (SWFファイル)

 Adobe(旧Macromedia)によるブラウザ上でマルチメディアを再生する無料アドオン「Adobe Flash Player」を利用して、Flashファイル(SWFファイル)を再生します。HSPとぜんぜん関係ない話ですが、このソフトの旧バージョンに存在する脆弱性(不具合)を悪用したウイルス攻撃が確認されてるので、ちゃんと最新バージョンが導入されてるか必ず確認してください。

//	Adobe Flash Playe - SWFファイルの再生 (by Kpan)

	onexit *exit

	axobj flash, "ShockwaveFlash.ShockwaveFlash", 400, 400

	button "再生", *load

	stop

*load
	dialog "swf;*.jpg;*.png;*.gif", 16, "Flash ファイル"
	if stat = 0 : goto *exit

	flash->"loadMovie" 0, refstr
	flash->"play"

	stop

*exit
	delcom flash

	end

↑TOP↑

Adobe Reader (PDFファイル)

 Adobeによる無料のPDF閲覧ソフト「Adobe Reader」を利用して、PDFファイルを表示します。HSPとぜんぜん関係ない話ですが、このソフトの旧バージョンに存在する脆弱性(不具合)を悪用したウイルス攻撃が確認されてるので、ちゃんと最新バージョンが導入されてるか必ず確認してください。

//	Adobe Reader - PDFファイルの表示 (by Kpan)

#define CLSID_AcroPDF "{CA8A9780-280D-11CF-A24D-444553540000}"

	onexit *exit

	axobj AcroPDF, CLSID_AcroPDF, ginfo(12), ginfo(13) - 50
	if stat = -1 : dialog "error" : end

	button "読み込み", *loadpdf
	stop

*loadpdf
	dialog "pdf", 16, "PDFファイル"
	if stat = 0 : goto *exit

	AcroPDF->"LoadFile" refstr

	stop

*exit
	delcom AcroPDF

	end

↑TOP↑

〜HSP3 あれこれ〜
ウィンドウ | オブジェクト | ファイル | フォルダ | キーボード | マウス | メニュー | システム | 文字列 | COM | その他

Copyright © 2005-2012 . All rights reserved.