<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>プログ.me &#187; .NETプログラミング</title>
	<atom:link href="http://www.ramanet.net/category/%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ramanet.net</link>
	<description>プログラムやゲームなどメモ的ブログ</description>
	<lastBuildDate>Sat, 04 Sep 2010 04:04:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>VB.NET &#8211; TrackBarでクリックした位置に移動</title>
		<link>http://www.ramanet.net/89/vb-net-trackbar%e3%81%a7%e3%82%af%e3%83%aa%e3%83%83%e3%82%af%e3%81%97%e3%81%9f%e4%bd%8d%e7%bd%ae%e3%81%ab%e7%a7%bb%e5%8b%95.html</link>
		<comments>http://www.ramanet.net/89/vb-net-trackbar%e3%81%a7%e3%82%af%e3%83%aa%e3%83%83%e3%82%af%e3%81%97%e3%81%9f%e4%bd%8d%e7%bd%ae%e3%81%ab%e7%a7%bb%e5%8b%95.html#comments</comments>
		<pubDate>Sat, 04 Sep 2010 03:58:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NETプログラミング]]></category>
		<category><![CDATA[LargeChange]]></category>
		<category><![CDATA[シークバー]]></category>

		<guid isPermaLink="false">http://www.ramanet.net/?p=89</guid>
		<description><![CDATA[Trackbarでシークバーのようにクリックした位置に移動させたいと思っていたんだけど、
Trackbarにはそういったプロパティやイベントがみあたらない・・・
「LargeChange」プロパティというのがあって、
マ [...]]]></description>
			<content:encoded><![CDATA[<p>Trackbarでシークバーのようにクリックした位置に移動させたいと思っていたんだけど、<br />
Trackbarにはそういったプロパティやイベントがみあたらない・・・</p>
<p>「LargeChange」プロパティというのがあって、<br />
マウスのクリックや、PAGE UP　および　PAGE DOWN キーを押したときにスライダが移動するポジション数を指定できるのだが、0にしたら移動するかも！？なんて期待を持ちながら設定してみたけどスライダがまったく動かず・・・当たり前か＞＜<br />
クリックした場所に必ず目盛りがあるわけではないし、Trackbar標準機能ではできないのかなぁ。</p>
<p>仕方なく、無理やり実装してみた。<br />
方法は、<strong>LargeChangeを0</strong>にしてマウスイベントを制御してスライダの位置を設定。<br />
PAGE UPやPAGE DOWNキーで移動しなくなるけどこれらのキーを使う人はほとんどいないでしょう！？ということで。</p>
<p>Private scrollflg As Boolean</p>
<p>Private Sub TrackBar1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TrackBar1.MouseDown<br />
　　scrollflg = False<br />
End Sub</p>
<p>Private Sub TrackBar1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TrackBar1.MouseUp<br />
　　Dim seekWidth As Double<br />
　　Dim seekValue As Integer<br />
　　Dim ticWidth As Double</p>
<p>　　<span style="color: #008000;">&#8216;左クリック以外は移動しない</span><br />
　　If e.Button <> Windows.Forms.MouseButtons.Left Then<br />
　　　　Exit Sub<br />
　　End If</p>
<p>　　<span style="color: #008000;">&#8216;スクロール移動した場合は移動しない</span><br />
　　If scrollflg = True Then<br />
　　　　Exit Sub<br />
　　End If</p>
<p>　　<span style="color: #008000;">&#8216;TrackBar範囲以外の場合は移動しない</span><br />
　　If e.X < 0 OrElse e.X > TrackBar1.Width OrElse e.Y < 0 OrElse e.Y > TrackBar1.Height Then<br />
　　　　Exit Sub<br />
　　End If</p>
<p>　　If e.X < 8 Then<br />
　　　　TrackBar1.Value = TrackBar1.Minimum<br />
　　ElseIf e.X > TrackBar1.Width &#8211; 8 Then<br />
　　　　TrackBar1.Value = TrackBar1.Maximum<br />
　　Else<br />
　　　　seekWidth = TrackBar1.Width &#8211; 16<br />
　　　　ticWidth = seekWidth / (TrackBar1.Maximum &#8211; TrackBar1.Minimum)<br />
　　　　seekValue = CInt((e.X &#8211; ８) / ticWidth) + TrackBar1.Minimum<br />
　　　　TrackBar1.Value = seekValue<br />
　　End If</p>
<p>End Sub</p>
<p>Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll<br />
　　scrollflg = True<br />
End Sub</p>
<p>8を引いたりしてるのはTrackBarコントロールの端から8pxのところに目盛り位置があるから（両端合わせて16）<br />
一応それっぽい動きはしているけど、もっと良い方法があったらご教授願いますm(..)m</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramanet.net/89/vb-net-trackbar%e3%81%a7%e3%82%af%e3%83%aa%e3%83%83%e3%82%af%e3%81%97%e3%81%9f%e4%bd%8d%e7%bd%ae%e3%81%ab%e7%a7%bb%e5%8b%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VB.NET &#8211; WebBrowserからJavascriptのfunctionを実行</title>
		<link>http://www.ramanet.net/87/vb-net-webbrowser%e3%81%8b%e3%82%89javascript%e3%81%aefunction%e3%82%92%e5%ae%9f%e8%a1%8c.html</link>
		<comments>http://www.ramanet.net/87/vb-net-webbrowser%e3%81%8b%e3%82%89javascript%e3%81%aefunction%e3%82%92%e5%ae%9f%e8%a1%8c.html#comments</comments>
		<pubDate>Sat, 21 Aug 2010 01:15:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NETプログラミング]]></category>
		<category><![CDATA[InvokeScript]]></category>

		<guid isPermaLink="false">http://www.ramanet.net/?p=87</guid>
		<description><![CDATA[.NETには、WEBページを表示することができるWebBrowserコントロールがあります。
このWebBrowserコントロールに表示したWebページに含まれるJavascriptの関数を呼び出す方法を紹介します。
P [...]]]></description>
			<content:encoded><![CDATA[<p>.NETには、WEBページを表示することができるWebBrowserコントロールがあります。<br />
このWebBrowserコントロールに表示したWebページに含まれるJavascriptの関数を呼び出す方法を紹介します。</p>
<p>Private Sub ExecJacascript()<br />
　　<span style="color: #339966;"> &#8216;引数がある場合は設定</span><br />
　　Dim args(0) As Object<br />
　　args(0) = &#8220;こんにちわ&#8221;</p>
<p>　　<span style="color: #339966;"> &#8216;jacascriptの関数名を指定して呼び出し</span><br />
　　Me.WebBrowser1.Document.InvokeScript(&#8220;helloword&#8221;, args)</p>
<p>End Sub</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramanet.net/87/vb-net-webbrowser%e3%81%8b%e3%82%89javascript%e3%81%aefunction%e3%82%92%e5%ae%9f%e8%a1%8c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.m2ts(.mts)ファイルからGPS(緯度経度）情報取得</title>
		<link>http://www.ramanet.net/82/m2ts-mts%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%8b%e3%82%89gps%e7%b7%af%e5%ba%a6%e7%b5%8c%e5%ba%a6%ef%bc%89%e6%83%85%e5%a0%b1%e5%8f%96%e5%be%97.html</link>
		<comments>http://www.ramanet.net/82/m2ts-mts%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%8b%e3%82%89gps%e7%b7%af%e5%ba%a6%e7%b5%8c%e5%ba%a6%ef%bc%89%e6%83%85%e5%a0%b1%e5%8f%96%e5%be%97.html#comments</comments>
		<pubDate>Wed, 18 Aug 2010 13:49:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NETプログラミング]]></category>
		<category><![CDATA[AVCHD]]></category>

		<guid isPermaLink="false">http://www.ramanet.net/?p=82</guid>
		<description><![CDATA[SONYのデジタルビデオカメラ「HDR-CXシリーズ」など、GPS情報を取得している動画からGPS情報を取得する方法です。
これらのデジタルビデオカメラは、AVCHDの規格で記録されています。
AVCHDでは、映像には高 [...]]]></description>
			<content:encoded><![CDATA[<p>SONYのデジタルビデオカメラ「HDR-CXシリーズ」など、GPS情報を取得している動画からGPS情報を取得する方法です。</p>
<p>これらのデジタルビデオカメラは、AVCHDの規格で記録されています。<br />
AVCHDでは、映像には高効率符号化が可能なH.264/MPEG-4 AVC方式を採用、音声にはドルビーデジタル (AC-3) 方式（LPCM：オプション）を採用、多重化にMPEG2-TSを採用しています。</p>
<p>GPSの情報は動画部分に埋め込まれており、H.264のtagを解析することで取得できます。</p>
<p>TAGの情報は以下のサイトを参考にしてください</p>
<p><a href="http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/H264.html">H264 Tags</a></p>
<p>MDPMタグ(16進で 4D 44 50 4D）を検索して、そこから順番に、日時（DateTimeOriginal）や緯度（GPSLatitude）経度（GPSLongitude）などを取得できます。</p>
<p><a href="http://www.sno.phy.queensu.ca/~phil/exiftool/">exiftool</a>に<br />
開始位置のGPS情報を取得できるツールがあり、そのツールのソース(Perl）を公開しているので、参考になると思います。</p>
<p>とりあえず、ゴリゴリと解析ソースを作成して試したところ、正しく取得できました。<br />
取得したGPSデータをGoogleマップなどで軌跡表示したら面白いかも＾＾</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramanet.net/82/m2ts-mts%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%8b%e3%82%89gps%e7%b7%af%e5%ba%a6%e7%b5%8c%e5%ba%a6%ef%bc%89%e6%83%85%e5%a0%b1%e5%8f%96%e5%be%97.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VB.NET &#8211; インストールソフトウェア取得</title>
		<link>http://www.ramanet.net/74/vb-net-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e5%8f%96%e5%be%97.html</link>
		<comments>http://www.ramanet.net/74/vb-net-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e5%8f%96%e5%be%97.html#comments</comments>
		<pubDate>Thu, 12 Aug 2010 03:00:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NETプログラミング]]></category>
		<category><![CDATA[DisplayName]]></category>
		<category><![CDATA[UninstallString]]></category>
		<category><![CDATA[アンインストール]]></category>
		<category><![CDATA[インストール]]></category>

		<guid isPermaLink="false">http://www.ramanet.net/?p=74</guid>
		<description><![CDATA[複数のソフトを順番にインストールしたりアンインストールする方法を調査しており、まずはインストール済みのアプリケーションとアンインストーラ実行ファイルを取得するのに挑戦。
【VB.NET】インストール済みアプリケーションの [...]]]></description>
			<content:encoded><![CDATA[<p>複数のソフトを順番にインストールしたりアンインストールする方法を調査しており、まずはインストール済みのアプリケーションとアンインストーラ実行ファイルを取得するのに挑戦。</p>
<p><a href="http://blog.livedoor.jp/akf0/archives/50847685.html">【VB.NET】インストール済みアプリケーションの一覧を作成する</a></p>
<p>を参考にさせていただきました。</p>
<p>Private Sub getInstallList()<br />
　　Dim wkRegKey As Microsoft.Win32.RegistryKey<br />
　　Dim wkKeyName As String<br />
　　Dim strKeyNames() As String<br />
　　Dim strKeyName As String<br />
　　Dim rKey As Microsoft.Win32.RegistryKey<br />
　　Dim displayName As String<br />
　　Dim unInstaller As String<br />
　　Dim wkSoftwareInfo As SoftwareInfo</p>
<p>　　wkKeyName = &#8220;SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall&#8221;<br />
　　wkRegKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(wkKeyName, False)</p>
<p>　　strKeyNames = wkRegKey.GetSubKeyNames()</p>
<p>　　For Each strKeyName In strKeyNames<br />
　　　　rKey=wkRegKey.OpenSubKey(strKeyName)<br />
　　　　<span style="color: #339966;">&#8216;インストールソフトウェア名取得</span><br />
　　　　If Not rKey.GetVakue(&#8220;DisplayName&#8221;) is Nothing Then<br />
　　　　　　displayName = rKey.GetValue(&#8220;DisplayName&#8221;).Tostring()</p>
<p>　　　　　　<span style="color: #339966;">&#8216;アンインストール実行ファイル取得</span><br />
　　　　　　If Not rKey.GetVakue(&#8220;UninstallString&#8221;) is Nothing Then<br />
　　　　　　　　unInstaller = rKey.GetVakue(&#8220;UninstallString&#8221;)<br />
　　　　　　End If<br />
　　　　End If<br />
　　Next<br />
End Sub</p>
<p>指定ソフトウェアがインストール済みかどうかの判断は、<br />
DisplayNameと指定ソフトウェアの名称が一致するかで判断しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramanet.net/74/vb-net-%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e5%8f%96%e5%be%97.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
