<?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>Vista</title><link>http://blogs.wankuma.com/rapt/category/1046.aspx</link><description>Vista</description><managingEditor>RAPT</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>RAPT</dc:creator><title>[Vista] 自分が現在、昇格実行されているか</title><link>http://blogs.wankuma.com/rapt/archive/2007/06/12/80414.aspx</link><pubDate>Tue, 12 Jun 2007 11:02:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/06/12/80414.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/80414.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/06/12/80414.aspx#Feedback</comments><slash:comments>34</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/80414.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/80414.aspx</trackback:ping><description>&lt;H1&gt;Vista で自分が現在、昇格実行されているかを調査するコード&lt;/H1&gt;
&lt;P&gt;VC++.NET 2003 にて動作確認済み。&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: blue 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: blue 1px solid; PADDING-LEFT: 5px; BACKGROUND: #ffffff; PADDING-BOTTOM: 5px; BORDER-LEFT: blue 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: blue 1px solid; FONT-FAMILY: monospace"&gt;&lt;SPAN style="COLOR: #008000"&gt;// Microsoft SDK v6 WinNT.h （最新の SDK を入れている方は、この部分は不要です。）&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;#define&lt;/SPAN&gt; TokenElevationType&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;static_cast&lt;/SPAN&gt;&amp;lt; TOKEN_INFORMATION_CLASS &amp;gt;( &lt;SPAN style="COLOR: #ff0000"&gt;18&lt;/SPAN&gt; )&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;typedef&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;enum&lt;/SPAN&gt; _TOKEN_ELEVATION_TYPE {&lt;BR&gt;&amp;nbsp; &amp;nbsp; TokenElevationTypeDefault = &lt;SPAN style="COLOR: #ff0000"&gt;1&lt;/SPAN&gt;,&lt;BR&gt;&amp;nbsp; &amp;nbsp; TokenElevationTypeFull,&lt;BR&gt;&amp;nbsp; &amp;nbsp; TokenElevationTypeLimited,&lt;BR&gt;} TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008000"&gt;// 昇格が必要か&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;bool&lt;/SPAN&gt; IsNeedHigher()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; &amp;nbsp; OSVERSIONINFO ovi = { &lt;SPAN style="COLOR: #0000ff"&gt;sizeof&lt;/SPAN&gt; ovi };&lt;BR&gt;&amp;nbsp; &amp;nbsp; ::GetVersionEx( &amp;amp;ovi );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; ( ovi.dwPlatformId != VER_PLATFORM_WIN32_NT || ovi.dwMajorVersion &amp;lt; &lt;SPAN style="COLOR: #ff0000"&gt;6&lt;/SPAN&gt; ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #ff00ff"&gt;HMODULE&lt;/SPAN&gt; hLib = ::LoadLibrary( &lt;SPAN style="COLOR: #ff00ff"&gt;_T&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #ff0000"&gt;"advapi32.dll"&lt;/SPAN&gt; ) );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; ( hLib == &lt;SPAN style="COLOR: #ff00ff"&gt;NULL&lt;/SPAN&gt; ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;typedef&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff00ff"&gt;BOOL&lt;/SPAN&gt; ( *LPFNOPENPROCESSTOKEN )( &lt;SPAN style="COLOR: #ff00ff"&gt;HANDLE&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #ff00ff"&gt;DWORD&lt;/SPAN&gt;, PHANDLE );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;typedef&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff00ff"&gt;BOOL&lt;/SPAN&gt; ( *LPFNGETTOKENINFORMATION )( &lt;SPAN style="COLOR: #ff00ff"&gt;HANDLE&lt;/SPAN&gt;, TOKEN_INFORMATION_CLASS, &lt;SPAN style="COLOR: #ff00ff"&gt;LPVOID&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #ff00ff"&gt;DWORD&lt;/SPAN&gt;, PDWORD );&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; LPFNOPENPROCESSTOKEN lpfnOpenProcessToken = &lt;SPAN style="COLOR: #0000ff"&gt;reinterpret_cast&lt;/SPAN&gt;&amp;lt; LPFNOPENPROCESSTOKEN &amp;gt;( ::GetProcAddress( hLib, &lt;SPAN style="COLOR: #ff0000"&gt;"OpenProcessToken"&lt;/SPAN&gt; ) );&lt;BR&gt;&amp;nbsp; &amp;nbsp; LPFNGETTOKENINFORMATION lpfnGetTokenInformation = &lt;SPAN style="COLOR: #0000ff"&gt;reinterpret_cast&lt;/SPAN&gt;&amp;lt; LPFNGETTOKENINFORMATION &amp;gt;( ::GetProcAddress( hLib, &lt;SPAN style="COLOR: #ff0000"&gt;"GetTokenInformation"&lt;/SPAN&gt; ) );&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; ( lpfnOpenProcessToken == &lt;SPAN style="COLOR: #ff00ff"&gt;NULL&lt;/SPAN&gt;&amp;nbsp;|| lpfnGetTokenInformation == &lt;SPAN style="COLOR: #ff00ff"&gt;NULL&lt;/SPAN&gt; ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::FreeLibrary( hLib );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;bool&lt;/SPAN&gt; bResult = &lt;SPAN style="COLOR: #0000ff"&gt;true&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #ff00ff"&gt;HANDLE&lt;/SPAN&gt; hToken = &lt;SPAN style="COLOR: #ff00ff"&gt;NULL&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; ( lpfnOpenProcessToken( ::GetCurrentProcess(), TOKEN_QUERY, &amp;amp;hToken ) ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #ff00ff"&gt;DWORD&lt;/SPAN&gt; dwLength = &lt;SPAN style="COLOR: #ff0000"&gt;0&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TOKEN_ELEVATION_TYPE tet;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lpfnGetTokenInformation( hToken, TokenElevationType, &amp;amp;tet, &lt;SPAN style="COLOR: #0000ff"&gt;sizeof&lt;/SPAN&gt; tet, &amp;amp;dwLength );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::CloseHandle( hToken );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; ( tet != TokenElevationTypeLimited ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bResult = &lt;SPAN style="COLOR: #0000ff"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR&gt;&amp;nbsp; &amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; ::FreeLibrary( hLib );&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; bResult;&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;if ( lpfnOpenProcessToken == NULL &lt;SPAN style="COLOR: #0000ff"&gt;||&lt;/SPAN&gt; lpfnGetTokenInformation == NULL ) {&lt;/P&gt;
&lt;P&gt;のところ、条件式が &lt;SPAN style="COLOR: #0000ff"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; になっていたのは間違い。 &lt;SPAN style="COLOR: #0000ff"&gt;||&lt;/SPAN&gt; じゃないとだめですよね。&lt;/P&gt;
&lt;P&gt;ってことで修正しました。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/80414.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>Vista 機、起動した</title><link>http://blogs.wankuma.com/rapt/archive/2007/06/11/80268.aspx</link><pubDate>Mon, 11 Jun 2007 03:40:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/06/11/80268.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/80268.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/06/11/80268.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/80268.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/80268.aspx</trackback:ping><description>&lt;P&gt;Windows Vista / Windows 2000 のデュアルブート環境を構築しようとしていたら&lt;BR&gt;キーボード認識エラーで起動できなくなって、2 ヶ月ほど放置気味だったのですが、&lt;BR&gt;昨日、マザーボードの CMOS クリアを試してみたところ、動作するようになったので、&lt;BR&gt;この週末は、環境再構築していました。&lt;/P&gt;
&lt;P&gt;せっかくなので、Windows 2000 はこれを機にメイン OS の座を明渡すことにし、&lt;BR&gt;Windows XP を C ドライブに、Windows Vista を D ドライブにインストールしました。&lt;/P&gt;
&lt;P&gt;後日、Windows XP 側に Virtual PC を入れて、Windows 2000 の環境を作る予定で、&lt;BR&gt;今月中に完全移行したいな、と思っています。&lt;/P&gt;
&lt;P&gt;まずは、OS 関連、デバイスドライバ、開発ツールなどを入れて、Microsoft Update、&lt;BR&gt;各種サービスパックの適用、とひたすら時間とネットワーク資源が必要な環境構築を&lt;BR&gt;優先的に行いました。&lt;/P&gt;
&lt;P&gt;次は、手に馴染んだ各種アプリケーションを入れるなど、既存資源の移行です。&lt;BR&gt;これは、徐々に行なっていくとして。&lt;/P&gt;
&lt;P&gt;XP 側に入れる Microsoft Office 2000 の CD、どこにやったかな・・・&lt;BR&gt;行方不明だorz&lt;/P&gt;
&lt;P&gt;Microsoft Office 2007 professional 試用版を取り急ぎ Vista 側に導入。&lt;BR&gt;Groove 2007 試用版も入れたかったけど、URL 忘れたので、次回やる予定。&lt;BR&gt;これで、ようやく、わんくま資料を読むことができるようになります。&lt;BR&gt;最近勉強会にも顔を出せていないし。&lt;/P&gt;
&lt;P&gt;Platform SDK Feb 2003 はもう MS のサイトから落とせないのかな。&lt;BR&gt;旧環境からフォルダコピーすればいいか。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/80268.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>Vista 機、起動せず～その後～</title><link>http://blogs.wankuma.com/rapt/archive/2007/06/09/80161.aspx</link><pubDate>Sat, 09 Jun 2007 17:26:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/06/09/80161.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/80161.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/06/09/80161.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/80161.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/80161.aspx</trackback:ping><description>&lt;P&gt;「Vista 機、起動せず」のその後&lt;BR&gt;&lt;A href="http://blogs.wankuma.com/rapt/archive/2007/05/23/77765.aspx"&gt;http://blogs.wankuma.com/rapt/archive/2007/05/23/77765.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;で Vista 用 PC がおかんむりになって３ヶ月近く。&lt;BR&gt;思い立って、M/B のボタン電池を外して CMOS クリアを試みてみる。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;諸設定はクリアされたものの、起動できるようになりました。&lt;/P&gt;
&lt;P&gt;ちきしょー、やられた。&lt;/P&gt;
&lt;P&gt;たった 10 分で直った。&lt;/P&gt;
&lt;P&gt;さて、Windows XP 買いに行ってきます。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/80161.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>[Vista] 関連づけ設定（３）</title><link>http://blogs.wankuma.com/rapt/archive/2007/06/07/79842.aspx</link><pubDate>Thu, 07 Jun 2007 10:12:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/06/07/79842.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/79842.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/06/07/79842.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/79842.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/79842.aspx</trackback:ping><description>&lt;P&gt;&lt;FONT color=#000000&gt;あいかわらず、自宅の Vista マシンが復旧せず、このままだと（３）はいつ出るのか、って状態だったので、&lt;BR&gt;取り急ぎ、（３）の内容を先に公開します。&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;まぁ、COM なので、基本的な使い方は一緒です。一応、連載もののため（笑）、（１）～（２）を読んでいない人は、&lt;BR&gt;下にリンクを張っておくので、先にそちらを読んでから、（３）を読むことをお勧めします。&lt;/P&gt;
&lt;P&gt;Vista における関連づけ用として、実際にユーザーごとの関連づけを設定するインタフェースと、&lt;BR&gt;Vista の設定画面を呼び出すインタフェースの 2 つのインタフェースが追加されています。&lt;/P&gt;
&lt;P&gt;さくっと、それらのインタフェースとメソッドを具体的な使い方とともに紹介します。&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#a52a2a size=4&gt;&lt;STRONG&gt;&lt;U&gt;１．IApplicationAssociationRegistration インタフェース&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: blue 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: blue 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 0.5em; BORDER-LEFT: blue 1px solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: blue 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;IApplicationAssociationRegistration* pAAR = &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt;;&lt;BR&gt;&lt;FONT color=#ff1493&gt;HRESULT&lt;/FONT&gt; hr = ::CoCreateInstance( CLSID_ApplicationAssociationRegistration&lt;BR&gt;&amp;nbsp; &amp;nbsp; , &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt;, CLSCTX_INPROC, &lt;FONT color=#0000ff&gt;__uuidof&lt;/FONT&gt;( IApplicationAssociationRegistration )&lt;BR&gt;&amp;nbsp; &amp;nbsp; , &lt;FONT color=#0000ff&gt;reinterpret_cast&lt;/FONT&gt;&amp;lt; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt;** &amp;gt;( &amp;amp;pAAR ) );&lt;BR&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; ( &lt;FONT color=#ff1493&gt;SUCCEEDED&lt;/FONT&gt;( hr ) &amp;amp;&amp;amp; pAAR != &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt; ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;// do something&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; pAAR-&amp;gt;Release();&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#008000&gt;// 現在の既定として設定されている ProgID を取得&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#ff1493&gt;LPWSTR&lt;/FONT&gt; pszAssociation = &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt;;&lt;BR&gt;hr = pAAR-&amp;gt;QueryCurrentDefault( &lt;FONT color=#ff1493&gt;L&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;".html"&lt;/FONT&gt;, AT_FILEEXTENSION, AL_EFFECTIVE, &amp;amp;pszAssociation );&lt;BR&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; ( &lt;FONT color=#ff1493&gt;SUCCEEDED&lt;/FONT&gt;( hr ) &amp;amp;&amp;amp; pszAssociation != &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt; ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;FONT color=#ff1493&gt;CString&lt;/FONT&gt; strAssoc = pszAssociation; &lt;FONT color=#008000&gt;// ここに ProgID が入る&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; ::CoTaskMemFree( pszAssociation );&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#008000&gt;// 指定した ProgID が既定となっているか&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#ff1493&gt;BOOL&lt;/FONT&gt; bDefault = &lt;FONT color=#ff1493&gt;FALSE&lt;/FONT&gt;;&lt;BR&gt;hr = pAAR-&amp;gt;QueryAppIsDefault( &lt;FONT color=#ff1493&gt;L&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;".html"&lt;/FONT&gt;, AT_FILEEXTENSION, AL_EFFECTIVE, &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.AssocFile.HTML"&lt;/FONT&gt; ), &amp;amp;bDefault );&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#008000&gt;// 指定した ProgID に紐付くすべての種別で既定となっているか&lt;/FONT&gt;&lt;BR&gt;&lt;FONT color=#ff1493&gt;BOOL&lt;/FONT&gt; bDefault = &lt;FONT color=#ff1493&gt;FALSE&lt;/FONT&gt;;&lt;BR&gt;hr = pAAR-&amp;gt;QueryAppIsDefaultAll( AL_EFFECTIVE, &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.AssocFile.HTML"&lt;/FONT&gt; ), &amp;amp;bDefault );&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#008000&gt;// 指定した ProgID を既定にする&lt;/FONT&gt;&lt;BR&gt;hr = pAAR-&amp;gt;SetAppAsDefault( &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.AssocFile.HTML"&lt;/FONT&gt; ), &lt;FONT color=#ff1493&gt;L&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;".html"&lt;/FONT&gt;, AT_FILEEXTENSION );&lt;BR&gt;hr = pAAR-&amp;gt;SetAppAsDefault( &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.AssocFile.URL"&lt;/FONT&gt; ), &lt;FONT color=#ff1493&gt;L&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;".url"&lt;/FONT&gt;, AT_FILEEXTENSION );&lt;BR&gt;hr = pAAR-&amp;gt;SetAppAsDefault( &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.HTTP"&lt;/FONT&gt; ), &lt;FONT color=#ff1493&gt;L&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;"http"&lt;/FONT&gt;, AT_URLPROTOCOL );&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#008000&gt;// 指定した ProgID に紐付くすべての種別を既定にする&lt;/FONT&gt;&lt;BR&gt;hr = pAAR-&amp;gt;SetAppAsDefaultAll( &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.AssocFile.HTML"&lt;/FONT&gt; ) );&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#008000&gt;// ユーザーの関連付け設定を初期化する&lt;/FONT&gt;&lt;BR&gt;hr = pAAR-&amp;gt;ClearUserAssociations();&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT color=#a52a2a size=4&gt;&lt;STRONG&gt;&lt;U&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#a52a2a size=4&gt;&lt;STRONG&gt;&lt;U&gt;２．IApplicationAssociationRegistrationUI インタフェース&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt; &lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: blue 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: blue 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 0.5em; BORDER-LEFT: blue 1px solid; PADDING-TOP: 0.5em; BORDER-BOTTOM: blue 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;FONT color=#008000&gt;// 「既定のプログラム」の画面を表示する&lt;/FONT&gt;&lt;BR&gt;IApplicationAssociationRegistrationUI* pAARUI = &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt;;&lt;BR&gt;&lt;FONT color=#ff1493&gt;HRESULT&lt;/FONT&gt; hr = ::CoCreateInstance( CLSID_ApplicationAssociationRegistrationUI&lt;BR&gt;&amp;nbsp; &amp;nbsp; , &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt;, CLSCTX_INPROC, &lt;FONT color=#0000ff&gt;__uuidof&lt;/FONT&gt;( IApplicationAssociationRegistrationUI )&lt;BR&gt;&amp;nbsp; &amp;nbsp; , &lt;FONT color=#0000ff&gt;reinterpret_cast&lt;/FONT&gt;&amp;lt; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt;** &amp;gt;( &amp;amp;pAARUI ) );&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; ( &lt;FONT color=#ff1493&gt;SUCCEEDED&lt;/FONT&gt;( hr ) &amp;amp;&amp;amp; pAARUI != &lt;FONT color=#ff1493&gt;NULL&lt;/FONT&gt; ) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; hr = pAARUI-&amp;gt;LaunchAdvancedAssociationUI( &lt;FONT color=#ff1493&gt;_T&lt;/FONT&gt;( &lt;FONT color=#ff0000&gt;"DonutRAPT.AssocFile.HTML"&lt;/FONT&gt; ) );&lt;BR&gt;&amp;nbsp; &amp;nbsp; pAARUI-&amp;gt;Release();&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A title="[Vista] 関連づけ設定（１）へ" href="/rapt/archive/2007/02/13/61985.aspx"&gt;[Vista] 関連づけ設定（１）&lt;/A&gt;&lt;BR&gt;&lt;A title="[Vista] 関連づけ設定（２）へ" href="/rapt/archive/2007/04/29/73665.aspx"&gt;[Vista] 関連づけ設定（２）&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/79842.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>[Vista] 関連づけ設定（２）</title><link>http://blogs.wankuma.com/rapt/archive/2007/04/29/73665.aspx</link><pubDate>Sun, 29 Apr 2007 03:58:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/04/29/73665.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/73665.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/04/29/73665.aspx#Feedback</comments><slash:comments>248</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/73665.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/73665.aspx</trackback:ping><description>&lt;style&gt;
&lt;!--
body{ font-family: monospace; }
td{ vertical-align: top; }
th{ background: #a0a0a0; }
--&gt;
&lt;/style&gt;
&lt;P&gt;大雑把に言って、アプリケーションごとに下記の 2 つの設定を行います。&lt;BR&gt;これらの作業を行なうには、昇格が必要となります。&lt;BR&gt;その後で、実際にアプリケーションを使用するユーザーごとに関連づけの設定を行います。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;HEKY_LOCAL_MACHINE にアプリケーションの基本情報を登録 
&lt;LI&gt;HKEY_CLASSES_ROOT にプログラムID を登録 &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;まず先に、表における用語定義。それぞれ、作成するアプリケーションに合わせて読み替えてください。&lt;/P&gt;
&lt;DL&gt;
&lt;DT style="FONT-WEIGHT: bold"&gt;{Company}
&lt;DD&gt;社名。サンプルでは RAPT と表記しています。 
&lt;DT style="FONT-WEIGHT: bold"&gt;{AppName}
&lt;DD&gt;アプリケーション名。サンプルでは DonutRAPT と表記しています。 
&lt;DT style="FONT-WEIGHT: bold"&gt;{AppPath}
&lt;DD&gt;アプリケーションへのパス。C:\Program Files\RAPT\DonutRAPT\Donut.exe のように実行可能ファイルへの絶対パスが入ります。 &lt;/DD&gt;&lt;/DL&gt;
&lt;P&gt;また、サンプルとして、実際に拙作の Donut RAPT 用の関連づけ設定ツールで設定している内容の抜粋も記載します。 &lt;BR&gt;[レジストリキー] キー='値' の書式で記述していますが、実際には '値' の前後のシングルクォート(')は不要です。&lt;/P&gt;
&lt;OL&gt;
&lt;LI style="PADDING-TOP: 20px"&gt;まず、既定のプログラムに表示するために必要なアプリケーション情報を登録します。 
&lt;TABLE cellSpacing=0 cellPadding=3 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH colSpan=5&gt;レジストリキー&lt;/TH&gt;
&lt;TH&gt;種類&lt;/TH&gt;
&lt;TH&gt;名前&lt;/TH&gt;
&lt;TH&gt;値&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=2&gt;HKLM&lt;/TD&gt;
&lt;TD rowSpan=6&gt;SOFTWARE&lt;/TD&gt;
&lt;TD rowSpan=5&gt;{Company}&lt;/TD&gt;
&lt;TD rowSpan=5&gt;{AppName}&lt;/TD&gt;
&lt;TD rowSpan=5&gt;Capabilities&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;ApplicationName&lt;/TD&gt;
&lt;TD&gt;アプリケーション名&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;ApplicationDescription&lt;/TD&gt;
&lt;TD&gt;アプリケーションの説明&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TEXTAREA title=サンプルです。 readOnly cols=120&gt;[HKLM\SOFTWARE\RAPT\DonutRAPT\Capabilities] ApplicationName='Donut RAPT'
[HKLM\SOFTWARE\RAPT\DonutRAPT\Capabilities] ApplicationDescription='動作が軽快なタブ型のウェブブラウザです。'
&lt;/TEXTAREA&gt; 
&lt;LI style="PADDING-TOP: 20px"&gt;次に、先ほど登録したアプリケーション情報の位置を下記の場所に記述します。 &lt;BR&gt;これによって、既定のプログラムの一覧に項目が追加されます。 
&lt;TABLE cellSpacing=0 cellPadding=3 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH colSpan=3&gt;レジストリキー&lt;/TH&gt;
&lt;TH&gt;種類&lt;/TH&gt;
&lt;TH&gt;名前&lt;/TH&gt;
&lt;TH&gt;値&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;HKLM&lt;/TD&gt;
&lt;TD&gt;SOFTWARE&lt;/TD&gt;
&lt;TD&gt;RegisteredApplications&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;{AppName}&lt;/TD&gt;
&lt;TD&gt;SOFTWARE\{Company}\{AppName}\Capabilities&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TEXTAREA title=サンプルです。 rows=1 readOnly cols=120&gt;[HKLM\SOFTWARE\RegisteredApplications] DonutRAPT='SOFTWARE\RAPT\DonutRAPT\Capabilities'
&lt;/TEXTAREA&gt; 
&lt;LI style="PADDING-TOP: 20px"&gt;拡張子 .html と .url そして http プロトコルに対して関連づけを設定することを宣言します。 &lt;BR&gt;なお、ここで &lt;STRONG&gt;MyApp.AssocFile.HTML&lt;/STRONG&gt; などの値を特別にプログラムIDと呼称します。 
&lt;TABLE cellSpacing=0 cellPadding=3 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH colSpan=6&gt;レジストリキー&lt;/TH&gt;
&lt;TH&gt;種類&lt;/TH&gt;
&lt;TH&gt;名前&lt;/TH&gt;
&lt;TH&gt;値&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=6&gt;HKLM&lt;/TD&gt;
&lt;TD rowSpan=6&gt;SOFTWARE&lt;/TD&gt;
&lt;TD rowSpan=5&gt;{Company}&lt;/TD&gt;
&lt;TD rowSpan=5&gt;{AppName}&lt;/TD&gt;
&lt;TD rowSpan=5&gt;Capabilities&lt;/TD&gt;
&lt;TD rowSpan=2&gt;FileAssociations&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;.html&lt;/TD&gt;
&lt;TD style="background: #a0ffa0;"&gt;MyApp.AssocFile.HTML&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;.url&lt;/TD&gt;
&lt;TD style="background: #a0a0ff;"&gt;MyApp.AssocFile.URL&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;URLAssociations&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;http&lt;/TD&gt;
&lt;TD style="background: #ffa0a0;"&gt;MyApp.HTTP&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TEXTAREA title=サンプルです。 rows=3 readOnly cols=120&gt;[HKLM\SOFTWARE\RAPT\DonutRAPT\Capabilities\FileAssociations] .html='DonutRAPT.AssocFile.HTML'
[HKLM\SOFTWARE\RAPT\DonutRAPT\Capabilities\FileAssociations] .url='DonutRAPT.AssocFile.URL'
[HKLM\SOFTWARE\RAPT\DonutRAPT\Capabilities\URLAssociations]  .http='DonutRAPT.HTTP'
&lt;/TEXTAREA&gt; 
&lt;LI style="PADDING-TOP: 20px"&gt;上記で宣言したプログラムIDについて、個別に定義します。 &lt;BR&gt;種類のうち、'REG_EXPAND_SZ' ってのは、値のうち、% で括られている部分を環境変数で展開して使用することを示します。 &lt;BR&gt;'FriendlyTypeName' は、既定のプログラムで表示される種類についての説明です。 &lt;BR&gt;'IsShortcut' はショートカットであることを示し、'NeverShowExt' は、拡張子を表示しないことを示します。 &lt;BR&gt;これらの記述がないと、お気に入りなどで、タイトル.url などと表示されることになります。 
&lt;TABLE cellSpacing=0 cellPadding=3 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH colSpan=5&gt;レジストリキー&lt;/TH&gt;
&lt;TH&gt;種類&lt;/TH&gt;
&lt;TH&gt;名前&lt;/TH&gt;
&lt;TH&gt;値&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=20&gt;HKCR&lt;/TD&gt;
&lt;TD style="background: #a0ffa0;" rowSpan=5&gt;MyApp.AssocFile.HTML&lt;/TD&gt;
&lt;TD colSpan=3 rowSpan=2&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;HTML Document&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_EXPAND_SZ&lt;/TD&gt;
&lt;TD&gt;FriendlyTypeName&lt;/TD&gt;
&lt;TD&gt;@%systemroot%\system32\ieframe.dll,-912&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=3&gt;shell&lt;/TD&gt;
&lt;TD&gt;open&lt;/TD&gt;
&lt;TD&gt;command&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;"{AppPath}"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=2&gt;{AppName}&lt;/TD&gt;
&lt;TD&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;MyApp で開く&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;command&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;"{AppPath}"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="background: #a0a0ff;" rowSpan=7&gt;MyApp.AssocFile.URL&lt;/TD&gt;
&lt;TD colSpan=3 rowSpan=4&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD&gt;REG_EXPAND_SZ&lt;/TD&gt;
&lt;TD&gt;FriendlyTypeName&lt;/TD&gt;
&lt;TD&gt;@%systemroot%\system32\ieframe.dll,-10046&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_DWORD&lt;/TD&gt;
&lt;TD&gt;EditFlags&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;IsShortcut&lt;/TD&gt;
&lt;TD&gt;※空文字列を設定&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;NeverShowExt&lt;/TD&gt;
&lt;TD&gt;※空文字列を設定&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=3&gt;shell&lt;/TD&gt;
&lt;TD&gt;open&lt;/TD&gt;
&lt;TD&gt;command&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;"{AppPath}"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=2&gt;{AppName}&lt;/TD&gt;
&lt;TD&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;MyApp で開く&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;command&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;"{AppPath}"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="background: #ffa0a0;" rowSpan=7&gt;MyApp.HTTP&lt;/TD&gt;
&lt;TD colSpan=3 rowSpan=4&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;URL:Hyper Text Transfer Protocol&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_EXPAND_SZ&lt;/TD&gt;
&lt;TD&gt;FriendlyTypeName&lt;/TD&gt;
&lt;TD&gt;@%systemroot%\system32\ieframe.dll,-903&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_DWORD&lt;/TD&gt;
&lt;TD&gt;EditFlags&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;URL Protocol&lt;/TD&gt;
&lt;TD&gt;※空文字列を設定&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=3&gt;shell&lt;/TD&gt;
&lt;TD&gt;open&lt;/TD&gt;
&lt;TD&gt;command&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;"{AppPath}"&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD rowSpan=2&gt;{AppName}&lt;/TD&gt;
&lt;TD&gt;&lt;BR&gt;&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;MyApp で開く&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;command&lt;/TD&gt;
&lt;TD&gt;REG_SZ&lt;/TD&gt;
&lt;TD&gt;(標準)&lt;/TD&gt;
&lt;TD&gt;"{AppPath}"&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TEXTAREA title=サンプルです。 rows=19 readOnly cols=120&gt;[HKCR\DonutRAPT.AssocFile.HTML]                         (標準)='HTML Document'
[HKCR\DonutRAPT.AssocFile.HTML]                         FriendlyTypeName='@%systemroot%\system32\ieframe.dll,-912'
[HKCR\DonutRAPT.AssocFile.HTML\shell\open\command]      (標準)='"C:\Program Files\RAPT\DonutRAPT\Donut.exe" "%1"'
[HKCR\DonutRAPT.AssocFile.HTML\shell\DonutRAPT]         (標準)='Donut RAPT で開く'
[HKCR\DonutRAPT.AssocFile.HTML\shell\DonutRAPT\command] (標準)='"C:\Program Files\RAPT\DonutRAPT\Donut.exe" "%1"'
[HKCR\DonutRAPT.AssocFile.URL]                          FriendlyTypeName='@%systemroot%\system32\ieframe.dll,-10046'
[HKCR\DonutRAPT.AssocFile.URL]                          EditFlags='2'
[HKCR\DonutRAPT.AssocFile.URL]                          IsShortcut=''
[HKCR\DonutRAPT.AssocFile.URL]                          NeverShowExt=''
[HKCR\DonutRAPT.AssocFile.URL\shell\open\command]       (標準)='"C:\Program Files\RAPT\DonutRAPT\Donut.exe" "%1"'
[HKCR\DonutRAPT.AssocFile.URL\shell\DonutRAPT]          (標準)='Donut RAPT で開く'
[HKCR\DonutRAPT.AssocFile.URL\shell\DonutRAPT\command]  (標準)='"C:\Program Files\RAPT\DonutRAPT\Donut.exe" "%1"'
[HKCR\DonutRAPT.HTTP]                                   (標準)='URL:Hyper Text Transfer Protocol'
[HKCR\DonutRAPT.HTTP]                                   FriendlyTypeName='@%systemroot%\system32\ieframe.dll,-903'
[HKCR\DonutRAPT.HTTP]                                   EditFlags='2'
[HKCR\DonutRAPT.HTTP]                                   (標準)='URL Protocol'
[HKCR\DonutRAPT.HTTP\shell\open\command]                (標準)='"C:\Program Files\RAPT\DonutRAPT\Donut.exe" "%1"'
[HKCR\DonutRAPT.HTTP\shell\DonutRAPT]                   (標準)='Donut RAPT で開く'
[HKCR\DonutRAPT.HTTP\shell\DonutRAPT\command]           (標準)='"C:\Program Files\RAPT\DonutRAPT\Donut.exe" "%1"'
&lt;/TEXTAREA&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;これだけ登録できていれば、既定のプログラムにアプリケーションと関連づけ可能な一覧が追加されます。 &lt;BR&gt;あとはユーザーごとに関連づけの設定を行うだけです。 &lt;BR&gt;次はいよいよ、API でユーザーごとの関連づけを行なう方法を書きます。&lt;/P&gt;
&lt;P&gt;&lt;A title="[Vista] 関連づけ設定（１）へ" HREF="/rapt/archive/2007/02/13/61985.aspx"&gt;[Vista] 関連づけ設定（１）&lt;/A&gt;&lt;BR&gt;&lt;A title="[Vista] 関連づけ設定（２）へ" HREF="/rapt/archive/2007/04/29/73665.aspx"&gt;[Vista] 関連づけ設定（２）&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/73665.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>Vista PC 構築</title><link>http://blogs.wankuma.com/rapt/archive/2007/03/01/64477.aspx</link><pubDate>Thu, 01 Mar 2007 03:13:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/03/01/64477.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/64477.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/03/01/64477.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/64477.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/64477.aspx</trackback:ping><description>&lt;P&gt;というわけで（何？）、遅まきながら自宅に Windows Vista を導入しました。&lt;/P&gt;
&lt;P&gt;先週末に、日本橋に行ってパーツを集め、昨日届いたケースに詰めました。&lt;BR&gt;その際、誤って CPU とクーラーの間にある電解ジェル？を触ってしまいました。&lt;/P&gt;
&lt;P&gt;やばっ、とか思いつつ、とりあえず、組み上げて、BIOS を見ていたら、アッサリ電源OFF。&lt;/P&gt;
&lt;P&gt;この落ち方は間違いようもなく、CPU のオーバーヒートによる Power Off でしょう。&lt;/P&gt;
&lt;P&gt;やっぱだめか、ってことで今日の帰りにソフマップでジェルを購入し、塗りたくって&lt;BR&gt;電源投入したら、問題なく動いている様子。&lt;/P&gt;
&lt;P&gt;早速 Windows Vista Ultimate (32bit) をインストール。&lt;BR&gt;インストール自体は十数分で完了。&lt;/P&gt;
&lt;P&gt;その後の環境構築に３時間程度。&lt;BR&gt;今もバックグラウンドでインストール中だったり。（CPU 切り替え器で操作しています。）&lt;/P&gt;
&lt;P&gt;さて、Office 2007 は何を買おうか。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/64477.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>[Vista] 関連づけ設定（１）</title><link>http://blogs.wankuma.com/rapt/archive/2007/02/13/61985.aspx</link><pubDate>Tue, 13 Feb 2007 03:41:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/02/13/61985.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/61985.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/02/13/61985.aspx#Feedback</comments><slash:comments>81</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/61985.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/61985.aspx</trackback:ping><description>&lt;P&gt;Windows Vista では、関連づけの設定方法が、今までの OS と互換性がなくなりました。&lt;BR&gt;&lt;STRIKE&gt;今までは、関連づけは、全てのユーザーで共有されていたのが、&lt;/STRIKE&gt;（※）&lt;STRIKE&gt; &lt;/STRIKE&gt;&lt;BR&gt;Vista では、ユーザーごとに管理できるようになりました。&lt;/P&gt;
&lt;P&gt;アプリケーションで、関連づけを行なうには、次の２段階の手順が必要となります。&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#a52a2a size=4&gt;&lt;STRONG&gt;&lt;U&gt;１．アプリケーションのプログラムIDをレジストリに登録&lt;/U&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;ここで、プログラムIDは、根幹となるもので、昇格が必要となる、&lt;FONT color=#000080&gt;HKEY_CLASSES_ROOT&lt;/FONT&gt; に&lt;BR&gt;情報を追加する必要があります。ここですべてのユーザーに対して既定のアプリケーション&lt;BR&gt;として登録してしまうこともできるようですが、Vista では推奨されないそうです。&lt;/P&gt;
&lt;P&gt;このプログラムIDをレジストリに追加する事で、「スタート」→「既定のプログラム」&lt;BR&gt;で、アプリケーションの一覧に、指定のアプリケーション名を表示させることができ、&lt;BR&gt;ユーザーに選んでもらうことが可能になります。&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;&lt;FONT color=#a52a2a size=4&gt;２．ユーザーごとに、既定のアプリケーションを選択させる&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;BR&gt;プログラムIDが登録されていれば、&lt;FONT color=#000080&gt;IApplicationAssociationRegistration&lt;/FONT&gt; を使って&lt;BR&gt;既定のプログラムを変更することができるようになります。&lt;/P&gt;
&lt;P&gt;※IApplicationAssociationRegistration（なげぇよ）は最新の SDK に含まれている&lt;BR&gt;ので、手元の SDK に含まれていない時は、最新のSDKをダウンロードしてください。&lt;/P&gt;
&lt;P&gt;続く...&lt;/P&gt;
&lt;P&gt;※2007/02/14　とっちゃんさんご指摘により、Windows2000 以降で既にマシンごと・&lt;BR&gt;ユーザーごとに設定を分けて保存できたとのことで、一部修正しました。&lt;/P&gt;

&lt;A href="http://blogs.wankuma.com/rapt/archive/2007/04/29/73665.aspx" title="[Vista] 関連づけ設定（２）へ"&gt;[Vista] 関連づけ設定（２）&lt;/a&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/61985.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>RAPT</dc:creator><title>[Vista] 昇格中に昇格前のユーザー名等を取得する方法が分からない</title><link>http://blogs.wankuma.com/rapt/archive/2007/01/29/59577.aspx</link><pubDate>Mon, 29 Jan 2007 04:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/rapt/archive/2007/01/29/59577.aspx</guid><wfw:comment>http://blogs.wankuma.com/rapt/comments/59577.aspx</wfw:comment><comments>http://blogs.wankuma.com/rapt/archive/2007/01/29/59577.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blogs.wankuma.com/rapt/comments/commentRss/59577.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/rapt/services/trackbacks/59577.aspx</trackback:ping><description>&lt;P&gt;inno setup で相変わらずインストーラ/アンインストーラを書いている。&lt;BR&gt;これで作ったインストーラを Vista で置くと、アイコンにシールドアイコンが&lt;BR&gt;表示されているので、インストール時にデフォルトで特権昇格を要求するようだ。&lt;/P&gt;
&lt;P&gt;これはこれでいいのだけど、言い換えれば、常に特権でしかインストールできないのね。&lt;BR&gt;例えば、マイドキュメント内にインストールしたいとしても管理者権限でインストール&lt;BR&gt;されてしまう。すなわち、通常ユーザーモードではインストールができないorz&lt;/P&gt;
&lt;P&gt;manifest 設定を書き換えればいいのだろうけど、そうすると権限別にインストーラを&lt;BR&gt;用意しなければいけないのだろうか、という話になる。&lt;/P&gt;
&lt;P&gt;また、アンインストール時にユーザーの設定を消すかどうか選択できるようにしてあるが、&lt;BR&gt;特権昇格するとユーザーのフォルダを求める際に、ユーザーが管理者にすりかわってしまい、&lt;BR&gt;本来のユーザー名・ユーザーフォルダが取得できず、正常に処理できない。&lt;/P&gt;
&lt;P&gt;特権昇格中であっても本来のユーザー名等を取得する方法はあるのだろうか。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/rapt/aggbug/59577.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>