<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>主婦と.NETと犬のぶろぐ</title><link>http://blogs.wankuma.com/naoko/</link><description>奥様 と プログラム と お犬様 の 楽しい日常</description><managingEditor>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>このブログを楽しみにしていた方々へ</title><link>http://blogs.wankuma.com/naoko/archive/2010/07/04/190956.aspx</link><pubDate>Sun, 04 Jul 2010 17:24:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2010/07/04/190956.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/190956.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2010/07/04/190956.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/190956.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/190956.aspx</trackback:ping><description>&lt;P&gt;なおこ(・∀・) の夫です。&lt;BR&gt;&lt;BR&gt;このページのリンク先にある「主婦と.NETと犬の記録」に告知したとおり、&lt;BR&gt;妻のなおこ(・∀・)が不慮の事故により、2010年6月3日19時0分に永眠いたしました。&lt;BR&gt;ここに生前のご厚情を感謝し、慎んでご通知申し上げます。&lt;BR&gt;&lt;BR&gt;このブログ最後の更新が、このような悲しい通知になってしまい、とても残念です。&lt;BR&gt;このブログを楽しみにしていた方々、今までこのブログをご覧いただき、ありがとうございました。&lt;BR&gt;妻に代わりまして、お礼申し上げます。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/190956.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>崖の上のポニョ</title><link>http://blogs.wankuma.com/naoko/archive/2008/07/24/150094.aspx</link><pubDate>Thu, 24 Jul 2008 17:19:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/07/24/150094.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/150094.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/07/24/150094.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/150094.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/150094.aspx</trackback:ping><description>&lt;p&gt;
宮崎駿作品は DVD とかになるのが待ちきれないので、たいてい混んでいるのに映画館に足を運んでしまいますが、&lt;br&gt;
まだ『崖の上のポニョ』は見ていません。&lt;br&gt;
&lt;br&gt;
あの「ポ～ニョポニョポニョ・・・」という歌はテレビで一度聞くと頭から離れないので&lt;br&gt;
非常に気になって仕方ないです。&lt;br&gt;
公園で遊んでいる子供たちがみんな「ポ～ニョポニョポニョ・・・」と口ずさんでいるのは驚きでした。&lt;br&gt;
恐るべし、久石譲。&lt;br&gt;
&lt;br&gt;
今日ネットをぼけーっと見ていたらこんな記事が。。。&lt;br&gt;
&lt;a target="_blank" href="http://blog.livedoor.jp/dqnplus/archives/1150617.html" title="&amp;#8220;まるで化け物&amp;#8221; ローソン、「ポニョ」の衝撃的なぬいぐるみを販売"&gt;&amp;#8220;まるで化け物&amp;#8221; ローソン、「ポニョ」の衝撃的なぬいぐるみを販売&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
・・・えっと・・・&lt;br&gt;
観ていないからわかんないんですけど、ポニョは主題歌の歌詞によれば「魚の子」でしたもんね。&lt;br&gt;
観ていないからわかんないんですけど、ポニョを観たお子様は大喜びですよね、きっと。
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/150094.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>秋葉原、その後</title><link>http://blogs.wankuma.com/naoko/archive/2008/06/12/143372.aspx</link><pubDate>Thu, 12 Jun 2008 20:05:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/06/12/143372.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/143372.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/06/12/143372.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/143372.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/143372.aspx</trackback:ping><description>&lt;p&gt;
ニュース等で大々的に報道されているので、ご存じの方は多いかと思いますが&lt;br&gt;
秋葉原でこの前の日曜日に事件がありました。&lt;br&gt;
&lt;a target="_blank" href="http://www11.atwiki.jp/akb_080608/" title="2008年6月8日に秋葉原で発生した通り魔事件　まとめwiki"&gt;2008年6月8日に秋葉原で発生した通り魔事件　まとめwiki&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
ここ数カ月、仕事の都合で平日朝晩、秋葉原の電気街方面を歩いている私には他人事とは思えず。。。&lt;br&gt;
もう本当にびっくりするばかりで。&lt;br&gt;
（しかも、数日前に勤め先のすぐ隣のビルで飛び降りがあったりして。。。）&lt;br&gt;
亡くなられた方のご冥福と怪我をされた方の一日も早い回復をお祈りいたします。&lt;br&gt;
&lt;br&gt;
週頭には万世橋付近にテレビ局の中継車？がたくさん居たり、&lt;br&gt;
万世橋警察署前に野次馬が山のようにいたのですが&lt;br&gt;
今日の帰りに万世橋を通ったら一台も駐停車中の車がなく野次馬らしき人もおらず。&lt;br&gt;
おまわりさんは相変わらず沢山いましたが。&lt;br&gt;
&lt;br&gt;
毎日、何とも言えないというか言い表せないというか、そういう気持ちで秋葉原を歩いています。&lt;br&gt;
当面、何も考えずに秋葉原を歩くという様な状態になれそうにないです。&lt;br&gt;
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/143372.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>2008年05月30日現在 Enterprise Library の場所</title><link>http://blogs.wankuma.com/naoko/archive/2008/05/30/140427.aspx</link><pubDate>Fri, 30 May 2008 22:44:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/05/30/140427.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/140427.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/05/30/140427.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/140427.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/140427.aspx</trackback:ping><description>&lt;P&gt;通勤途中に&lt;A title="Visual Studio (赤間さん) by YamaKen" href="http://www.amazon.co.jp/Visual-Studio-%E8%B5%A4%E9%96%93%E3%81%95%E3%82%93/lm/R3JKM4XXH71AEC" target=_blank&gt;赤間さんの本&lt;/A&gt; を読んでいるのですが、&lt;BR&gt;Enterprise Library に関する記述が時々出てきます。&lt;BR&gt;&lt;BR&gt;2008年05月30日現在 Enterprise Library の場所は以下の場所です。&lt;br&gt;&lt;A title="Enterprise Library" href="http://msdn.microsoft.com/en-us/library/cc467894.aspx" target=_blank&gt;http://msdn.microsoft.com/en-us/library/cc467894.aspx&lt;/A&gt; &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/140427.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>リレーショナル・データベースの世界</title><link>http://blogs.wankuma.com/naoko/archive/2008/05/29/139861.aspx</link><pubDate>Thu, 29 May 2008 00:29:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/05/29/139861.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/139861.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/05/29/139861.aspx#Feedback</comments><slash:comments>234</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/139861.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/139861.aspx</trackback:ping><description>&lt;p&gt;
本当に知らない事が多いです。下記のサイトはとても勉強になります。ので自分用メモ。&lt;br /&gt;
&lt;a href="http://www.geocities.jp/mickindex/database/idx_database.html" target="_blank" title="リレーショナル・データベースの世界"&gt;リレーショナル・データベースの世界&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
今仕掛かり中案件にて Oracle10g を触っているのですが、
最近触ったデータベースが DB2 の V8 ばっかりなので Oracle 独自構文などは忘れてしまったりします。&lt;br&gt;
そんな時はいつも下記サイトにお世話になっています。これも自分用メモ。&lt;br /&gt;
&lt;a href="http://oracle.se-free.com/" target="_blank" title="忘れっぽいエンジニアのORACLE／オラクルSQLリファレンス"&gt;忘れっぽいエンジニアのORACLE／オラクルSQLリファレンス&lt;/a&gt;&lt;br /&gt;
Oracle で LEFT|RIGHT OUTER JOIN が使えるのか！と知らなかったので個人的に驚きでした。
&lt;br /&gt;
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/139861.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>showModalDialog のダイアログ内での画面遷移</title><link>http://blogs.wankuma.com/naoko/archive/2008/02/25/124882.aspx</link><pubDate>Mon, 25 Feb 2008 23:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/02/25/124882.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/124882.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/02/25/124882.aspx#Feedback</comments><slash:comments>316</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/124882.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/124882.aspx</trackback:ping><description>&lt;p&gt;
現在また JDK1.4 めいた、struts めいたお仕事をしています。&lt;br&gt;
&lt;br&gt;
お客様のご要望で、&lt;br&gt;
IE の showModalDialog でモーダルダイアログ表示した画面の中で&lt;br&gt;
post で submit して別画面へ画面遷移する、という事をしなくてはならなくなりました。&lt;br&gt;
&lt;br&gt;
ダイアログ内で画面遷移とな...。&lt;br&gt;
&lt;br&gt;
とにかくお仕事なのでやらないといけません。&lt;br&gt;
ところが、showModalDialog をまともに使った事がなかったので、下の方と同じ現象でつまづきました。&lt;br&gt;
&lt;a href="http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=28&amp;topic=22195" target="_blank" title="showModalDialogの遷移時に新規ウィンドウが開いてしまう問題"&gt;showModalDialogの遷移時に新規ウィンドウが開いてしまう問題&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
上記スレッドの水戸黄門さんの方法『showModalDialog で呼び出される側（showModalDialog の引数で指定される側）の head タグの中に &amp;lt;base target="_self"&amp;gt; 』で回避しました。&lt;br&gt;
はずかしながら、&lt;a href="http://www.tohoho-web.com/html/base.htm" title="&lt;base&gt; - ベース URL の指定" target="_blank"&gt;base タグ&lt;/a&gt; という存在を初めて知りました。なるほどなるほど。&lt;br&gt;
&lt;br&gt;
しかし多分、今後使う事はないとは思いますがメモ。
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/124882.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>Beep 関数</title><link>http://blogs.wankuma.com/naoko/archive/2008/01/23/118941.aspx</link><pubDate>Wed, 23 Jan 2008 22:25:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/01/23/118941.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/118941.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/01/23/118941.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/118941.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/118941.aspx</trackback:ping><description>&lt;p&gt;
えーと、、超不定期ですが、今日は &lt;a href="http://msdn2.microsoft.com/ja-jp/library/kz27k38z(VS.80).aspx" target="_blank" title="Beep 関数" &gt;Beep 関数&lt;/a&gt; です。&lt;br&gt;
「ペッ」って鳴らすあれです。&lt;br&gt;
単純に MessageBeep を呼ぶだけかと想像していたのですが、違うみたいですね。&lt;br&gt;
アクセス許可絡みをうじゃうじゃやっているようです。&lt;br&gt;
&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="kwrd"&gt;Option Strict On&lt;/span&gt;
&lt;br&gt;
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Security.Permissions
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Runtime.InteropServices
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.ComponentModel
&lt;br&gt;
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;NotInheritable&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Functions
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" AppActivate "&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;
&lt;A href="http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx" title="AppActivate 関数"&gt;AppActivate 関数 参照&lt;/a&gt;
&lt;/p&gt;&lt;pre class="csharpcode"&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" GetResourceString "&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;
&lt;A href="http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx" title="AppActivate 関数"&gt;AppActivate 関数 参照&lt;/a&gt;
&lt;/p&gt;&lt;pre class="csharpcode"&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" Asc "&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;
&lt;A href="http://blogs.wankuma.com/naoko/archive/2008/01/17/117972.aspx" title="Asc 関数"&gt;Asc 関数 参照&lt;/a&gt;
&lt;/p&gt;&lt;pre class="csharpcode"&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" Beep "&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Unicode&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; MessageBeep(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; uType &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; Beep()
        &lt;span class="kwrd"&gt;Try&lt;/span&gt;
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; perm &lt;span class="kwrd"&gt;As&lt;/span&gt; UIPermission = &lt;span class="kwrd"&gt;New&lt;/span&gt; UIPermission(UIPermissionWindow.SafeSubWindows)
            perm.Demand()
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Security.SecurityException
            &lt;span class="kwrd"&gt;Try&lt;/span&gt;
                &lt;span class="kwrd"&gt;Dim&lt;/span&gt; perm &lt;span class="kwrd"&gt;As&lt;/span&gt; UIPermission = &lt;span class="kwrd"&gt;New&lt;/span&gt; UIPermission(UIPermissionWindow.SafeSubWindows)
                perm.Demand()
            &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception2 &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Security.SecurityException
                &lt;span class="kwrd"&gt;Return&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Try&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Try&lt;/span&gt;
        MessageBeep(0)
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt;
&lt;/pre&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/118941.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>Asc 関数</title><link>http://blogs.wankuma.com/naoko/archive/2008/01/17/117972.aspx</link><pubDate>Thu, 17 Jan 2008 18:36:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/01/17/117972.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/117972.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/01/17/117972.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/117972.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/117972.aspx</trackback:ping><description>&lt;p&gt;
今日は &lt;a href="http://msdn2.microsoft.com/ja-jp/library/zew1e4wc(VS.80).aspx" target="_blank" title="Asc 関数、AscW 関数"&gt;Asc 関数&lt;/a&gt; です。&lt;br&gt;
msdn には「文字に対応する文字コードを表す整数型 (Integer) の値を返します。」とあります。&lt;br&gt;
VB6 で使っていた AscB 関数は VB.NET のコード体系が Unicode になったのでサポートされなくなったらしいです。&lt;br&gt;
いずれにしても、あまり使う機会がなかったなぁ。&lt;br&gt;
&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="kwrd"&gt;Option Strict On&lt;/span&gt;
&lt;br&gt;
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Security.Permissions
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Runtime.InteropServices
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.ComponentModel
&lt;br&gt;
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;NotInheritable&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Functions
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" AppActivate "&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;
&lt;A href="http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx" title="AppActivate 関数"&gt;AppActivate 関数 参照&lt;/a&gt;
&lt;/p&gt;&lt;pre class="csharpcode"&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" GetResourceString "&lt;/span&gt;
&lt;/pre&gt;&lt;p&gt;
&lt;A href="http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx" title="AppActivate 関数"&gt;AppActivate 関数 参照&lt;/a&gt;
&lt;/p&gt;&lt;pre class="csharpcode"&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;br&gt;
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" Asc "&lt;/span&gt;
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; Asc(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; [&lt;span class="kwrd"&gt;String&lt;/span&gt;] &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (([&lt;span class="kwrd"&gt;String&lt;/span&gt;] &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;OrElse&lt;/span&gt; ([&lt;span class="kwrd"&gt;String&lt;/span&gt;].Length = 0)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; ArgumentException(GetResourceString(&lt;span class="str"&gt;"Argument_LengthGTZero1"&lt;/span&gt;, &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;() {&lt;span class="str"&gt;"String"&lt;/span&gt;}))
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; ch &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Char&lt;/span&gt; = [&lt;span class="kwrd"&gt;String&lt;/span&gt;].Chars(0)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num2 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = Convert.ToInt32(ch)
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (num2 &amp;lt; &amp;amp;H80) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; num2
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
&lt;br&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; buffer &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Byte&lt;/span&gt;()
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; fileIOEncoding &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Text.Encoding = System.Text.Encoding.&lt;span class="kwrd"&gt;Default&lt;/span&gt;
&lt;br&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; chars &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Char&lt;/span&gt;() = &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;Char&lt;/span&gt;() {ch}
        &lt;span class="kwrd"&gt;If&lt;/span&gt; fileIOEncoding.IsSingleByte &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            buffer = &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;Byte&lt;/span&gt;(1 - 1) {}
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num3 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = fileIOEncoding.GetBytes(chars, 0, 1, buffer, 0)
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; buffer(0)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        buffer = &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;Byte&lt;/span&gt;(2 - 1) {}
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (fileIOEncoding.GetBytes(chars, 0, 1, buffer, 0) = 1) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; buffer(0)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; BitConverter.IsLittleEndian &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num4 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Byte&lt;/span&gt; = buffer(0)
            buffer(0) = buffer(1)
            buffer(1) = num4
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        num = BitConverter.ToInt16(buffer, 0)
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; num
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt;
&lt;/pre&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/117972.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>AppActivate 関数</title><link>http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx</link><pubDate>Wed, 16 Jan 2008 12:31:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/117692.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2008/01/16/117692.aspx#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/117692.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/117692.aspx</trackback:ping><description>&lt;p&gt;
ひさびさのぶろぐ投稿です。&lt;br&gt;
皆様、お元気でしょうか。ワタシはまた入院していましたｗ&lt;br&gt;
&lt;br&gt;
VB.NET には過去との互換性の目的も含めて（たぶん）言語固有の関数があります。&lt;br&gt;
それらを VB 関数ではなく、.NET で実装してみようという試みです。&lt;br&gt;
（ほとんど Reflector のお世話になりっぱだと思いますがｗ）&lt;br&gt;
VB 関数が嫌いじゃ～でも VB 関数の機能は使いたいんじゃ～といういるかいないか解らない人向けです。&lt;br&gt;
変換ツールとか使えば、 C# でも VB 名前空間を Import しなくても、VB 関数みたいな事ができる、、、はず、、、&lt;br&gt;
&lt;br&gt;
最初は&lt;br&gt;
&lt;a href="http://msdn2.microsoft.com/ja-jp/library/dyz95fhy(VS.80).aspx" target="_blank" title="AppActivate"&gt;AppActivate 関数&lt;/a&gt; です。&lt;br&gt;
いきなりこけてますけども、ProcessID を引数にするやつがワタシの環境ではこけてしまいます。&lt;br&gt;
どうも GetWindowThreadProcessId がうまくいっていないっぽい。&lt;br&gt;
&lt;br&gt;
# 追記：ぎゃあー修正すればするほどソースがでかくなるー
&lt;br&gt;
&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="kwrd"&gt;Option&lt;/span&gt; Strict &lt;span class="kwrd"&gt;On&lt;/span&gt;
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Security.Permissions
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.Runtime.InteropServices
&lt;span class="kwrd"&gt;Imports&lt;/span&gt; System.ComponentModel
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;NotInheritable&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Functions
&lt;span class="preproc"&gt;#Region&lt;/span&gt; &lt;span class="str"&gt;" AppActivate "&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetWindow(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; wFlag &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetDesktopWindow() &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetWindowThreadProcessId(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr, &lt;span class="kwrd"&gt;ByRef&lt;/span&gt; lpdwProcessId &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; IsWindowEnabled(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr) &lt;span class="kwrd"&gt;As&lt;/span&gt; &amp;lt;MarshalAs(UnmanagedType.Bool)&amp;gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; IsWindowVisible(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr) &lt;span class="kwrd"&gt;As&lt;/span&gt; &amp;lt;MarshalAs(UnmanagedType.Bool)&amp;gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Auto&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; FindWindow(&amp;lt;MarshalAs(UnmanagedType.VBByRefStr)&amp;gt; &lt;span class="kwrd"&gt;ByRef&lt;/span&gt; lpClassName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;, &amp;lt;MarshalAs(UnmanagedType.VBByRefStr)&amp;gt; &lt;span class="kwrd"&gt;ByRef&lt;/span&gt; lpWindowName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Auto&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetWindowText(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hWnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr, &amp;lt;Out(), MarshalAs(UnmanagedType.LPTStr)&amp;gt; &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; lpString &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Text.StringBuilder, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; nMaxCount &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; AttachThreadInput(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; idAttach &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; idAttachTo &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; fAttach &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; SetForegroundWindow(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr) &lt;span class="kwrd"&gt;As&lt;/span&gt; &amp;lt;MarshalAs(UnmanagedType.Bool)&amp;gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &amp;lt;DllImport(&lt;span class="str"&gt;"user32"&lt;/span&gt;, CharSet:=CharSet.&lt;span class="kwrd"&gt;Ansi&lt;/span&gt;, SetLastError:=&lt;span class="kwrd"&gt;True&lt;/span&gt;, ExactSpelling:=&lt;span class="kwrd"&gt;True&lt;/span&gt;)&amp;gt; _
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; SetFocus(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr) &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;br&gt;
    &amp;lt;SecurityPermission(SecurityAction.Demand, Flags:=SecurityPermissionFlag.UnmanagedCode)&amp;gt; _
     &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; AppActivate(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; ProcessId &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; window &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr = GetWindow(GetDesktopWindow, 5)
        &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; (window &amp;lt;&amp;gt; IntPtr.Zero)
            GetWindowThreadProcessId(window, (num))
            &lt;span class="kwrd"&gt;If&lt;/span&gt; (((num = ProcessId) &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; IsWindowEnabled(window)) &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; IsWindowVisible(window)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Do&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
            window = GetWindow(window, 2)
        &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (window = IntPtr.Zero) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            window = GetWindow(GetDesktopWindow, 5)
            &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; (window &amp;lt;&amp;gt; IntPtr.Zero)
                GetWindowThreadProcessId(window, (num))
                &lt;span class="kwrd"&gt;If&lt;/span&gt; (num = ProcessId) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Do&lt;/span&gt;
                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                window = GetWindow(window, 2)
            &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (window = IntPtr.Zero) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; ArgumentException(GetResourceString(&lt;span class="str"&gt;"ProcessNotFound"&lt;/span&gt;, &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;() {Convert.ToString(ProcessId)}))
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        AppActivateHelper(window)
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;br&gt;
    &amp;lt;SecurityPermission(SecurityAction.Demand, Flags:=SecurityPermissionFlag.UnmanagedCode)&amp;gt; _
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; AppActivate(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; Title &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; lpClassName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; hWnd &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr = FindWindow((lpClassName), (Title))
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (hWnd = IntPtr.Zero) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; strA &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="kwrd"&gt;String&lt;/span&gt;.Empty
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; lpString &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; System.Text.StringBuilder(&amp;amp;H1FF)
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; length &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = Strings.Len(Title)
            hWnd = GetWindow(GetDesktopWindow, 5)
            &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; (hWnd &amp;lt;&amp;gt; IntPtr.Zero)
                num = GetWindowText(hWnd, lpString, lpString.Capacity)
                strA = lpString.ToString
                &lt;span class="kwrd"&gt;If&lt;/span&gt; ((num &amp;gt;= length) &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; (&lt;span class="kwrd"&gt;String&lt;/span&gt;.Compare(strA, 0, Title, 0, length, StringComparison.OrdinalIgnoreCase) = 0)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Do&lt;/span&gt;
                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                hWnd = GetWindow(hWnd, 2)
            &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
            &lt;span class="kwrd"&gt;If&lt;/span&gt; (hWnd = IntPtr.Zero) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                hWnd = GetWindow(GetDesktopWindow, 5)
                &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; (hWnd &amp;lt;&amp;gt; IntPtr.Zero)
                    num = GetWindowText(hWnd, lpString, lpString.Capacity)
                    strA = lpString.ToString
                    &lt;span class="kwrd"&gt;If&lt;/span&gt; ((num &amp;gt;= length) &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; (&lt;span class="kwrd"&gt;String&lt;/span&gt;.Compare(Strings.Right(strA, length), 0, Title, 0, length, StringComparison.OrdinalIgnoreCase) = 0)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                        &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Do&lt;/span&gt;
                    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                    hWnd = GetWindow(hWnd, 2)
                &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (hWnd = IntPtr.Zero) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; ArgumentException(GetResourceString(&lt;span class="str"&gt;"ProcessNotFound"&lt;/span&gt;, &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;() {Title}))
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        AppActivateHelper(hWnd)
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; AppActivateHelper(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; hwndApp &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; perm &lt;span class="kwrd"&gt;As&lt;/span&gt; UIPermission = &lt;span class="kwrd"&gt;New&lt;/span&gt; UIPermission(UIPermissionWindow.AllWindows)
        perm.Demand()
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (&lt;span class="kwrd"&gt;Not&lt;/span&gt; IsWindowEnabled(hwndApp) &lt;span class="kwrd"&gt;OrElse&lt;/span&gt; &lt;span class="kwrd"&gt;Not&lt;/span&gt; IsWindowVisible(hwndApp)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Dim&lt;/span&gt; window &lt;span class="kwrd"&gt;As&lt;/span&gt; IntPtr = GetWindow(hwndApp, 0)
            &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; (window &amp;lt;&amp;gt; IntPtr.Zero)
                &lt;span class="kwrd"&gt;If&lt;/span&gt; (GetWindow(window, 4) = hwndApp) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                    &lt;span class="kwrd"&gt;If&lt;/span&gt; (IsWindowEnabled(window) &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; IsWindowVisible(window)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                        &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Do&lt;/span&gt;
                    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                    hwndApp = window
                    window = GetWindow(hwndApp, 0)
                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                window = GetWindow(window, 2)
            &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
            &lt;span class="kwrd"&gt;If&lt;/span&gt; (window = IntPtr.Zero) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                &lt;span class="kwrd"&gt;Throw&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; ArgumentException(GetResourceString(&lt;span class="str"&gt;"ProcessNotFound"&lt;/span&gt;))
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
            hwndApp = window
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        AttachThreadInput(0, GetWindowThreadProcessId(hwndApp, (num)), 1)
        SetForegroundWindow(hwndApp)
        SetFocus(hwndApp)
        AttachThreadInput(0, GetWindowThreadProcessId(hwndApp, (num)), 0)
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;span class="preproc"&gt;#End Region&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetResourceString(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; ResourceKey &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; &lt;span class="kwrd"&gt;ParamArray&lt;/span&gt; Args &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;()) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; str &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; format &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
        &lt;span class="kwrd"&gt;Try&lt;/span&gt;
            format = GetResourceString(ResourceKey)
            str = &lt;span class="kwrd"&gt;String&lt;/span&gt;.Format(System.Threading.Thread.CurrentThread.CurrentUICulture, format, Args)
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception &lt;span class="kwrd"&gt;As&lt;/span&gt; StackOverflowException
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception2 &lt;span class="kwrd"&gt;As&lt;/span&gt; OutOfMemoryException
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception2
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception3 &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Threading.ThreadAbortException
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception3
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception4 &lt;span class="kwrd"&gt;As&lt;/span&gt; Exception
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Try&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (str &amp;lt;&amp;gt; &lt;span class="str"&gt;""&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; str
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; format
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;br&gt;
    &amp;lt;EditorBrowsable(EditorBrowsableState.Never)&amp;gt; _
   &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetResourceString(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; ResourceKey &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; str2 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (VBAResourceManager &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; &lt;span class="str"&gt;"Message text unavailable.  Resource file 'Microsoft.VisualBasic resources' not found."&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Try&lt;/span&gt;
            str2 = VBAResourceManager.GetString(ResourceKey, System.Threading.Thread.CurrentThread.CurrentCulture)
            &lt;span class="kwrd"&gt;If&lt;/span&gt; (str2 &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                str2 = VBAResourceManager.GetString(&lt;span class="str"&gt;"ID95"&lt;/span&gt;)
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception &lt;span class="kwrd"&gt;As&lt;/span&gt; StackOverflowException
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception2 &lt;span class="kwrd"&gt;As&lt;/span&gt; OutOfMemoryException
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception2
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception3 &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Threading.ThreadAbortException
            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception3
        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception6 &lt;span class="kwrd"&gt;As&lt;/span&gt; Exception
            str2 = &lt;span class="str"&gt;"Message text unavailable.  Resource file 'Microsoft.VisualBasic resources' not found."&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Try&lt;/span&gt;
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; str2
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; m_VBAResourceManager &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Resources.ResourceManager
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; m_TriedLoadingResourceManager &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;ReadOnly&lt;/span&gt; ResourceManagerSyncObj &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;ReadOnly&lt;/span&gt; &lt;span class="kwrd"&gt;Property&lt;/span&gt; VBAResourceManager() &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Resources.ResourceManager
        &lt;span class="kwrd"&gt;Get&lt;/span&gt;
            &lt;span class="kwrd"&gt;If&lt;/span&gt; (m_VBAResourceManager &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                &lt;span class="kwrd"&gt;Dim&lt;/span&gt; resourceManagerSyncObj &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt; = resourceManagerSyncObj
                &lt;span class="kwrd"&gt;If&lt;/span&gt; ((&lt;span class="kwrd"&gt;Not&lt;/span&gt; resourceManagerSyncObj &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; resourceManagerSyncObj.&lt;span class="kwrd"&gt;GetType&lt;/span&gt;.IsValueType) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Throw&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; ArgumentException(GetResourceString(&lt;span class="str"&gt;"SyncLockRequiresReferenceType1"&lt;/span&gt;, &lt;span class="kwrd"&gt;New&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;() {VBFriendlyNameOfType(resourceManagerSyncObj.&lt;span class="kwrd"&gt;GetType&lt;/span&gt;, &lt;span class="kwrd"&gt;False&lt;/span&gt;)}))
                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                &lt;span class="kwrd"&gt;SyncLock&lt;/span&gt; resourceManagerSyncObj
                    &lt;span class="kwrd"&gt;If&lt;/span&gt; &lt;span class="kwrd"&gt;Not&lt;/span&gt; m_TriedLoadingResourceManager &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                        &lt;span class="kwrd"&gt;Try&lt;/span&gt;
                            m_VBAResourceManager = &lt;span class="kwrd"&gt;New&lt;/span&gt; System.Resources.ResourceManager(&lt;span class="str"&gt;"Microsoft.VisualBasic"&lt;/span&gt;, System.Reflection.&lt;span class="kwrd"&gt;Assembly&lt;/span&gt;.GetExecutingAssembly)
                        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception &lt;span class="kwrd"&gt;As&lt;/span&gt; StackOverflowException
                            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception
                        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception2 &lt;span class="kwrd"&gt;As&lt;/span&gt; OutOfMemoryException
                            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception2
                        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception3 &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Threading.ThreadAbortException
                            &lt;span class="kwrd"&gt;Throw&lt;/span&gt; exception3
                        &lt;span class="kwrd"&gt;Catch&lt;/span&gt; exception6 &lt;span class="kwrd"&gt;As&lt;/span&gt; Exception
                        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Try&lt;/span&gt;
                        m_TriedLoadingResourceManager = &lt;span class="kwrd"&gt;True&lt;/span&gt;
                    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;SyncLock&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; m_VBAResourceManager
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Get&lt;/span&gt;
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Property&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; VBFriendlyNameOfType(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; typ &lt;span class="kwrd"&gt;As&lt;/span&gt; Type, &lt;span class="kwrd"&gt;Optional&lt;/span&gt; &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; FullName &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt; = &lt;span class="kwrd"&gt;False&lt;/span&gt;) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; name &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; typeCode &lt;span class="kwrd"&gt;As&lt;/span&gt; TypeCode
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; arraySuffixAndElementType &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = GetArraySuffixAndElementType((typ))
        &lt;span class="kwrd"&gt;If&lt;/span&gt; typ.IsEnum &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            typeCode = TypeCode.&lt;span class="kwrd"&gt;Object&lt;/span&gt;
        &lt;span class="kwrd"&gt;Else&lt;/span&gt;
            typeCode = Type.GetTypeCode(typ)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Select&lt;/span&gt; &lt;span class="kwrd"&gt;Case&lt;/span&gt; typeCode
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.DBNull
                name = &lt;span class="str"&gt;"DBNull"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
                name = &lt;span class="str"&gt;"Boolean"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;Char&lt;/span&gt;
                name = &lt;span class="str"&gt;"Char"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.SByte
                name = &lt;span class="str"&gt;"SByte"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;Byte&lt;/span&gt;
                name = &lt;span class="str"&gt;"Byte"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.Int16
                name = &lt;span class="str"&gt;"Short"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.UInt16
                name = &lt;span class="str"&gt;"UShort"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.Int32
                name = &lt;span class="str"&gt;"Integer"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.UInt32
                name = &lt;span class="str"&gt;"UInteger"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.Int64
                name = &lt;span class="str"&gt;"Long"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.UInt64
                name = &lt;span class="str"&gt;"ULong"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;Single&lt;/span&gt;
                name = &lt;span class="str"&gt;"Single"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;Double&lt;/span&gt;
                name = &lt;span class="str"&gt;"Double"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;Decimal&lt;/span&gt;
                name = &lt;span class="str"&gt;"Decimal"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.DateTime
                name = &lt;span class="str"&gt;"Date"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; TypeCode.&lt;span class="kwrd"&gt;String&lt;/span&gt;
                name = &lt;span class="str"&gt;"String"&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
            &lt;span class="kwrd"&gt;Case&lt;/span&gt; &lt;span class="kwrd"&gt;Else&lt;/span&gt;
                &lt;span class="kwrd"&gt;If&lt;/span&gt; IsGenericParameter(typ) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                    name = typ.Name
                &lt;span class="kwrd"&gt;Else&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; fullName1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; str6 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; genericArgsSuffix &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = GetGenericArgsSuffix(typ)
                    &lt;span class="kwrd"&gt;If&lt;/span&gt; fullName &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                        &lt;span class="kwrd"&gt;If&lt;/span&gt; typ.IsNested &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                            str6 = VBFriendlyNameOfType(typ.DeclaringType, &lt;span class="kwrd"&gt;True&lt;/span&gt;)
                            fullName1 = typ.Name
                        &lt;span class="kwrd"&gt;Else&lt;/span&gt;
                            fullName1 = typ.FullName
                        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                    &lt;span class="kwrd"&gt;Else&lt;/span&gt;
                        fullName1 = typ.Name
                    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                    &lt;span class="kwrd"&gt;If&lt;/span&gt; (&lt;span class="kwrd"&gt;Not&lt;/span&gt; genericArgsSuffix &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; length &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = fullName1.LastIndexOf(&lt;span class="str"&gt;"`"&lt;/span&gt;c)
                        &lt;span class="kwrd"&gt;If&lt;/span&gt; (length &amp;lt;&amp;gt; -1) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                            fullName1 = fullName1.Substring(0, length)
                        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                        name = (fullName1 &amp;amp; genericArgsSuffix)
                    &lt;span class="kwrd"&gt;Else&lt;/span&gt;
                        name = fullName1
                    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                    &lt;span class="kwrd"&gt;If&lt;/span&gt; (&lt;span class="kwrd"&gt;Not&lt;/span&gt; str6 &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                        name = (str6 &amp;amp; &lt;span class="str"&gt;"."&lt;/span&gt; &amp;amp; name)
                    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Select&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (&lt;span class="kwrd"&gt;Not&lt;/span&gt; arraySuffixAndElementType &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            name = (name &amp;amp; arraySuffixAndElementType)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; name
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &lt;span class="kwrd"&gt;Friend&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; IsGenericParameter(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; Type &lt;span class="kwrd"&gt;As&lt;/span&gt; Type) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Boolean&lt;/span&gt;
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; Type.IsGenericParameter
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetArraySuffixAndElementType(&lt;span class="kwrd"&gt;ByRef&lt;/span&gt; typ &lt;span class="kwrd"&gt;As&lt;/span&gt; Type) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; &lt;span class="kwrd"&gt;Not&lt;/span&gt; typ.IsArray &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; builder &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; System.Text.StringBuilder
        &lt;span class="kwrd"&gt;Do&lt;/span&gt;
            builder.Append(&lt;span class="str"&gt;"("&lt;/span&gt;)
            builder.Append(&lt;span class="str"&gt;","&lt;/span&gt;c, (typ.GetArrayRank - 1))
            builder.Append(&lt;span class="str"&gt;")"&lt;/span&gt;)
            typ = typ.GetElementType
        &lt;span class="kwrd"&gt;Loop&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; typ.IsArray
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; builder.ToString
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Shared&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; GetGenericArgsSuffix(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; typ &lt;span class="kwrd"&gt;As&lt;/span&gt; Type) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; &lt;span class="kwrd"&gt;Not&lt;/span&gt; typ.IsGenericType &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; genericArguments &lt;span class="kwrd"&gt;As&lt;/span&gt; Type() = typ.GetGenericArguments
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; length &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = genericArguments.Length
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num2 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = length
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (typ.IsNested &lt;span class="kwrd"&gt;AndAlso&lt;/span&gt; typ.DeclaringType.IsGenericType) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            num2 = (num2 - typ.DeclaringType.GetGenericArguments.Length)
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;If&lt;/span&gt; (num2 = 0) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
            &lt;span class="kwrd"&gt;Return&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt;
        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; builder &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; System.Text.StringBuilder
        builder.Append(&lt;span class="str"&gt;"(Of "&lt;/span&gt;)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; num4 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = (length - 1)
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; i &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = (length - num2)
        &lt;span class="kwrd"&gt;Do&lt;/span&gt; &lt;span class="kwrd"&gt;While&lt;/span&gt; (i &amp;lt;= num4)
            builder.Append(VBFriendlyNameOfType(genericArguments(i), &lt;span class="kwrd"&gt;False&lt;/span&gt;))
            &lt;span class="kwrd"&gt;If&lt;/span&gt; (i &amp;lt;&amp;gt; (length - 1)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                builder.Append(&lt;span class="str"&gt;","&lt;/span&gt;c)
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
            i += 1
        &lt;span class="kwrd"&gt;Loop&lt;/span&gt;
        builder.Append(&lt;span class="str"&gt;")"&lt;/span&gt;)
        &lt;span class="kwrd"&gt;Return&lt;/span&gt; builder.ToString
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt;
&lt;br&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt;
&lt;/pre&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/117692.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>なおこ(・∀・) &lt;naoko@wankuma.com&gt;</dc:creator><title>WebBrowser で取得した HtmlDocument を編集して submit する</title><link>http://blogs.wankuma.com/naoko/archive/2007/11/14/108361.aspx</link><pubDate>Wed, 14 Nov 2007 22:26:00 GMT</pubDate><guid>http://blogs.wankuma.com/naoko/archive/2007/11/14/108361.aspx</guid><wfw:comment>http://blogs.wankuma.com/naoko/comments/108361.aspx</wfw:comment><comments>http://blogs.wankuma.com/naoko/archive/2007/11/14/108361.aspx#Feedback</comments><slash:comments>49</slash:comments><wfw:commentRss>http://blogs.wankuma.com/naoko/comments/commentRss/108361.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/naoko/services/trackbacks/108361.aspx</trackback:ping><description>&lt;p&gt;
以下のような asp があった時に、通常のオペレーションでは Option1 ～ Option4 の値が選択されてサーバー側へ送信されますが、&lt;br&gt;
&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;
Dim message
If (Request.Form(&lt;span class="str"&gt;"requestTest_postback"&lt;/span&gt;) &amp;lt;&amp;gt; &lt;span class="str"&gt;""&lt;/span&gt;) Then
    message = &lt;span class="str"&gt;"選択された値:"&lt;/span&gt; &amp;amp; Request.Form(&lt;span class="str"&gt;"test"&lt;/span&gt;) &amp;amp; &lt;span class="str"&gt;"&amp;lt;br&amp;gt;"&lt;/span&gt;
End If
&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;test&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="requestInput"&lt;/span&gt; &lt;span class="attr"&gt;method&lt;/span&gt;&lt;span class="kwrd"&gt;="post"&lt;/span&gt; &lt;span class="attr"&gt;action&lt;/span&gt;&lt;span class="kwrd"&gt;="requestTest.asp"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;=message &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;select&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="test"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;option&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="opt1"&lt;/span&gt; &lt;span class="attr"&gt;selected&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Option1
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;option&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="opt2"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Option2
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;option&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="opt3"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Option3
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;option&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="opt4"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Option4
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;select&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="submit"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="hidden"&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="requestTest_postback"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
Select タグの中の Option タグ達にない値をサーバー側に送信したい場合、HTML を改ざんすれば OK なわけですが&lt;br&gt;
WebBrowser の Navigate を呼んだ後に WebBrowserオブジェクト.Document を改ざんする事でも同様の事ができます。&lt;br&gt;
&lt;/p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt; Form1
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; btnNavigate_Click(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwrd"&gt;As&lt;/span&gt; System.&lt;span class="kwrd"&gt;Object&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwrd"&gt;As&lt;/span&gt; System.EventArgs) &lt;span class="kwrd"&gt;Handles&lt;/span&gt; btnNavigate.Click
        &lt;span class="kwrd"&gt;Me&lt;/span&gt;.WebBrowser1.Navigate(&lt;span class="kwrd"&gt;Me&lt;/span&gt;.TextBox1.Text)
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;br&gt;
    &lt;span class="kwrd"&gt;Private&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; btnSubmit_Click(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; sender &lt;span class="kwrd"&gt;As&lt;/span&gt; System.&lt;span class="kwrd"&gt;Object&lt;/span&gt;, &lt;span class="kwrd"&gt;ByVal&lt;/span&gt; e &lt;span class="kwrd"&gt;As&lt;/span&gt; System.EventArgs) &lt;span class="kwrd"&gt;Handles&lt;/span&gt; btnSubmit.Click
        &lt;span class="kwrd"&gt;If&lt;/span&gt; &lt;span class="kwrd"&gt;Me&lt;/span&gt;.WebBrowser1.Document &lt;span class="kwrd"&gt;Is&lt;/span&gt; &lt;span class="kwrd"&gt;Nothing&lt;/span&gt; &lt;span class="kwrd"&gt;Then&lt;/span&gt; &lt;span class="kwrd"&gt;Return&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; selects &lt;span class="kwrd"&gt;As&lt;/span&gt; HtmlElementCollection = &lt;span class="kwrd"&gt;Me&lt;/span&gt;.WebBrowser1.Document.GetElementsByTagName(&lt;span class="str"&gt;"select"&lt;/span&gt;)
        &lt;span class="kwrd"&gt;For&lt;/span&gt; &lt;span class="kwrd"&gt;Each&lt;/span&gt; selectTag &lt;span class="kwrd"&gt;As&lt;/span&gt; HtmlElement &lt;span class="kwrd"&gt;In&lt;/span&gt; selects
            &lt;span class="kwrd"&gt;If&lt;/span&gt; selectTag.GetAttribute(&lt;span class="str"&gt;"name"&lt;/span&gt;) = &lt;span class="str"&gt;"test"&lt;/span&gt; &lt;span class="kwrd"&gt;Then&lt;/span&gt;
                &lt;span class="rem"&gt;' select タグ かつ name 属性が test の時に option を無理やり追加してそれを選択させる&lt;/span&gt;
                &lt;span class="kwrd"&gt;Dim&lt;/span&gt; fuji &lt;span class="kwrd"&gt;As&lt;/span&gt; HtmlElement = &lt;span class="kwrd"&gt;Me&lt;/span&gt;.WebBrowser1.Document.CreateElement(&lt;span class="str"&gt;"option"&lt;/span&gt;)
                fuji.SetAttribute(&lt;span class="str"&gt;"value"&lt;/span&gt;, &lt;span class="str"&gt;"ふじこ"&lt;/span&gt;)
                selectTag.AppendChild(fuji)
                &lt;span class="kwrd"&gt;Dim&lt;/span&gt; len &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="kwrd"&gt;CInt&lt;/span&gt;(selectTag.GetAttribute(&lt;span class="str"&gt;"length"&lt;/span&gt;))
                selectTag.SetAttribute(&lt;span class="str"&gt;"selectedIndex"&lt;/span&gt;, (len - 1).ToString())
                &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;For&lt;/span&gt;
            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;
        &lt;span class="kwrd"&gt;Next&lt;/span&gt;
        &lt;span class="kwrd"&gt;Dim&lt;/span&gt; formElement &lt;span class="kwrd"&gt;As&lt;/span&gt; HtmlElement = &lt;span class="kwrd"&gt;Me&lt;/span&gt;.WebBrowser1.Document.Forms(0)
        formElement.InvokeMember(&lt;span class="str"&gt;"submit"&lt;/span&gt;)
    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt;
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Class&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;
お仕事用です。&lt;br&gt;
&lt;a href="http://naoko.wankuma.com/tips/zip/EditRequest.zip" target="_blank" title="EditRequest.zip"&gt;EditRequest.zip&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/naoko/aggbug/108361.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>