|   |  
とりあえず、sendmessageする作戦のマクロ例をお返事します。 
tkinfo.dllに関数追加するとなると、単純に「ここからここまで選択」みたいにいか 
ない(飛び飛び選択とかも出来る)ので、パラメータの受け渡しがちょっと難しいで 
す。なので、とりあえずsendmessage作戦でやって欲しい所です。 
 
 マクロの説明ですが…フォーカスのあるアイテムを取得するだけなら、LVM_GETNEX 
TITEMでLVNI_FOCUSEDを指定するだけで簡単に出来ます。選択されてるアイテム一覧 
を取得するには、LVNI_SELECTEDを何回も呼び出してやる必要があります。詳しくは、 
"LVM_GETINEXTITEM"でgoogle検索すると出てくると思います。 
 
------------------サンプルマクロ------------------------ 
    #LVM_GETNEXTITEM  = 0x1000 + 12; 
    #LVNI_SELECTED = 0x0002; 
    #LVNI_FOCUSED = 0x0001; 
 
 
    loaddll "tkinfo.dll"; 
    #frame = hidemaruhandle(0); 
    #attach = dllfunc("Bypass_FindWindowEx", #frame, 0, 0, "添付ファイル"); 
    if( #attach == 0 ) { 
        message "エラー1"; 
    } 
    #listview = dllfunc("Bypass_FindWindowEx", #attach, 0, "SysListView32",  
0 ); 
    if( #listview == 0 ) { 
        message "エラー2"; 
    } 
 
    #html = 0; 
    if( dllfuncstr("CurrentHeader", "X-Html:") != "" ) { 
        #html = 1; 
    } 
 
    #focusindex = sendmessage( #listview, #LVM_GETNEXTITEM, -1, #LVNI_FOCUSE 
D ); 
    if( #html ) { 
        #focusindex = #focusindex - 1; 
    } 
 
    #cSelect = 0; 
    #index = -1; 
    while(1) { 
        #index = sendmessage( #listview, #LVM_GETNEXTITEM, #index, #LVNI_SEL 
ECTED ); 
        if( #index < 0 ) { 
            break; 
        } 
        if( #html ) { 
            if( #index > 0 ) { 
                #aSelect[#cSelect] = #index - 1; 
                #cSelect = #cSelect + 1; 
            } 
        } else { 
            #aSelect[#cSelect] = #index; 
            #cSelect = #cSelect + 1; 
        } 
    } 
    $s = "選択数 = " + str(#cSelect) + "\n"; 
    #i = 0; 
    while( #i < #cSelect ) { 
        $s = $s + "選択index" + str(#i + 1) + " = " + str(#aSelect[#i]) 
             + "    " + dllfuncstr("CurrentHeader2", "X-Attach", #aSelect[# 
i] ) + "\n"; 
        #i = #i + 1; 
    } 
    $s = $s + "\n\nフォーカスインデックス = " + str(#focusindex); 
    message $s; 
    endmacro; 
 
			 | 
		  
	 |