<?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>VB</title><link>http://blogs.wankuma.com/blue/category/717.aspx</link><description>VB</description><managingEditor>Blue(blue@wankuma.com)</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Blue(blue@wankuma.com)</dc:creator><title>エントリポイントの序数指定([VB6]Declare宣言)</title><link>http://blogs.wankuma.com/blue/archive/2006/12/24/53387.aspx</link><pubDate>Sun, 24 Dec 2006 17:02:00 GMT</pubDate><guid>http://blogs.wankuma.com/blue/archive/2006/12/24/53387.aspx</guid><wfw:comment>http://blogs.wankuma.com/blue/comments/53387.aspx</wfw:comment><comments>http://blogs.wankuma.com/blue/archive/2006/12/24/53387.aspx#Feedback</comments><slash:comments>309</slash:comments><wfw:commentRss>http://blogs.wankuma.com/blue/comments/commentRss/53387.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/blue/services/trackbacks/53387.aspx</trackback:ping><description>&lt;P&gt;(常識かもしれませんが、)&lt;BR&gt;&lt;BR&gt;先日、&lt;A href="http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200612/06120040.txt"&gt;SHBrowseForFolder のデフォルトパスにネットワークパスを指定するには？&lt;/A&gt;の質問にて、&lt;BR&gt;VB6で指定のディレクトリのLPITEMIDLISTの値を取得する方法をいろいろ調べていたところ、&lt;BR&gt;(VC++ならIShellFolder::ParseDisplayNameで取得できる)&lt;BR&gt;K.J.Kさんから&lt;/P&gt;
&lt;DIV class=sourcecode&gt;&lt;PRE&gt;&lt;SPAN class=keyword&gt;Private Declare Function&lt;/SPAN&gt; SHGetIDListFromPath _
    &lt;SPAN class=keyword&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=string&gt;"shell32.dll"&lt;/SPAN&gt; &lt;SPAN class=keyword&gt;Alias&lt;/SPAN&gt; &lt;SPAN class=string&gt;"#28"&lt;/SPAN&gt; _
( _
    &lt;SPAN class=keyword&gt;ByRef&lt;/SPAN&gt; Path &lt;SPAN class=keyword&gt;As Byte&lt;/SPAN&gt;, _
    &lt;SPAN class=keyword&gt;ByRef&lt;/SPAN&gt; RetPIDL &lt;SPAN class=keyword&gt;As Long&lt;/SPAN&gt;, _
    &lt;SPAN class=keyword&gt;ByRef&lt;/SPAN&gt; RetAttr &lt;SPAN class=keyword&gt;As Long&lt;/SPAN&gt; _
) &lt;SPAN class=keyword&gt;As Long&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;ってな関数を使う方法があるのを教えてもらいました。&lt;BR&gt;&lt;FONT color=#ff0000&gt;#28&lt;/FONT&gt; って何やねん！と思って調べてみたところ、「エントリポイントの序数指定」とのことでした。&lt;BR&gt;つーことは、Win32APIのGetProcAddress関数もできるのかなと調べてみたところ、ちゃんの&lt;A href="http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_getprocaddress.asp"&gt;MSDN&lt;/A&gt;に載っていました。&lt;BR&gt;(.NET FrameworkのDllImportでも同様→&lt;A href="http://msdn2.microsoft.com/ja-jp/library/f5xe74x8(VS.80).aspx"&gt;エントリ ポイントの指定&lt;/A&gt;? )&lt;BR&gt;&lt;BR&gt;とっても勉強になりました。&lt;BR&gt;だけど、こういう隠し的な関数は本当に知っていないと使えない罠。(引数やら戻り値やらが隠蔽されているので)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;ちなみに、.NET Frameworkの&lt;A href="http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.folderbrowserdialog(VS.80).aspx"&gt;FolderBrowserDialog&lt;/A&gt;では任意(ネットワークパス含み)のルートや初期ディレクトリを設定することは&lt;BR&gt;できないのかな？ &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;追記&lt;/FONT&gt;&lt;/STRONG&gt;
&lt;P&gt;shell32.dllの序数28番目の関数名ですが、&lt;BR&gt;SHILCreateFromPath &lt;BR&gt;だそうです。&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shilcreatefrompath.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shilcreatefrompath.asp&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;ついでに、SHGetIDListFromPathでぐぐったときに#162ってのを見かけたが&lt;BR&gt;あれも、&lt;BR&gt;SHSimpleIDListFromPath &lt;BR&gt;って関数名でした。&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shsimpleidlistfrompath.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shsimpleidlistfrompath.asp&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;# 本当はコメントでレスしようかと思ったけど、なぜかsubmitできなかったので追記編集で。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/blue/aggbug/53387.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>